set 'starting' flag for desk show in e_zone_desk_count_set()
authorMike Blumenkrantz <zmike@osg.samsung.com>
Fri, 11 Sep 2015 16:57:15 +0000 (12:57 -0400)
committerMike Blumenkrantz <zmike@osg.samsung.com>
Fri, 11 Sep 2015 16:57:15 +0000 (12:57 -0400)
as a result of earlier changes which prevented recursive desk flips,
e_desk_show() now rejects some desk show calls which are invalid such as
a show where the "current" desk does not have the visible flag set. this
behavior is overridden in the case of startup, which is functionally the
same effect as changing the desk count

fix T2717

src/bin/e_zone.c

index fb08a5e..66c1ecf 100644 (file)
@@ -728,8 +728,12 @@ e_zone_desk_count_set(E_Zone *zone,
    desk = e_desk_current_get(zone);
    if (desk)
      {
+        /* need to simulate "startup" conditions to force desk show to reevaluate here */
+        int s = starting;
         desk->visible = 0;
+        starting = 1;
         e_desk_show(desk);
+        starting = s;
      }
 
    e_zone_edge_flip_eval(zone);