force render queue and check for redirection on clients with 0x0 pixmaps
authorMike Blumenkrantz <zmike@osg.samsung.com>
Thu, 20 Aug 2015 19:39:22 +0000 (15:39 -0400)
committerMike Blumenkrantz <zmike@osg.samsung.com>
Thu, 20 Aug 2015 19:39:22 +0000 (15:39 -0400)
fixes an issue where resizing the current nocomp client could result in a
broken compositor until a render queue was triggered

src/bin/e_comp_object.c

index d750c43..4b324aa 100644 (file)
@@ -990,12 +990,13 @@ _e_comp_intercept_resize(void *data, Evas_Object *obj, int w, int h)
         cw->ec->client.h = ih;
         if ((cw->ec->client.w < 0) || (cw->ec->client.h < 0)) CRI("WTF");
      }
-   if ((!cw->ec->input_only) && (!e_pixmap_size_get(cw->ec->pixmap, &pw, &ph)))
+   if ((!cw->ec->input_only) && cw->redirected && (!e_pixmap_size_get(cw->ec->pixmap, &pw, &ph)))
      {
         if (e_comp->comp_type != E_PIXMAP_TYPE_X) return;
         /* client can't be resized if its pixmap isn't usable, try again */
         e_pixmap_dirty(cw->ec->pixmap);
         e_comp_object_render_update_add(obj);
+        e_comp_render_queue();
         cw->ec->changes.size = 1;
         EC_CHANGED(cw->ec);
         return;