discomfitor pushed a commit to branch master.

commit 517d537dfaa5cde4623698164460f8d27bf36f02
Author: Mike Blumenkrantz <[email protected]>
Date:   Wed Aug 14 12:53:03 2013 +0100

    don't iterate over pager desks to set active/inactive, this is stupid.
---
 src/modules/pager/e_mod_main.c | 27 ++++++++-------------------
 1 file changed, 8 insertions(+), 19 deletions(-)

diff --git a/src/modules/pager/e_mod_main.c b/src/modules/pager/e_mod_main.c
index e9e9ca4..52dab69 100644
--- a/src/modules/pager/e_mod_main.c
+++ b/src/modules/pager/e_mod_main.c
@@ -44,6 +44,7 @@ struct _Pager
    E_Zone         *zone;
    int             xnum, ynum;
    Eina_List      *desks;
+   Pager_Desk     *active_pd;
    unsigned char   dragging : 1;
    unsigned char   just_dragged : 1;
    Evas_Coord      dnd_x, dnd_y;
@@ -518,28 +519,16 @@ _pager_desk_at_coord(Pager *p, Evas_Coord x, Evas_Coord y)
 static void
 _pager_desk_select(Pager_Desk *pd)
 {
-   Eina_List *l;
-   Pager_Desk *pd2;
-
    if (pd->current) return;
-
-   EINA_LIST_FOREACH(pd->pager->desks, l, pd2)
+   if (pd->pager->active_pd)
      {
-        if (pd == pd2)
-          {
-             pd2->current = 1;
-             evas_object_raise(pd2->o_desk);
-             edje_object_signal_emit(pd2->o_desk, "e,state,selected", "e");
-          }
-        else
-          {
-             if (pd2->current)
-               {
-                  pd2->current = 0;
-                  edje_object_signal_emit(pd2->o_desk, "e,state,unselected", 
"e");
-               }
-          }
+        pd->pager->active_pd->current = 0;
+        edje_object_signal_emit(pd->pager->active_pd->o_desk, 
"e,state,unselected", "e");
      }
+   pd->current = 1;
+   evas_object_raise(pd->o_desk);
+   edje_object_signal_emit(pd->o_desk, "e,state,selected", "e");
+   pd->pager->active_pd = pd;
 }
 
 static Pager_Desk *

-- 

------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk

Reply via email to