ecore-evas-wayland: update no-op configure commit case for new acking method
authorMike Blumenkrantz <zmike@osg.samsung.com>
Fri, 10 Mar 2017 21:11:19 +0000 (16:11 -0500)
committerMike Blumenkrantz <zmike@osg.samsung.com>
Fri, 10 Mar 2017 21:11:19 +0000 (16:11 -0500)
ref 1b9970658f17d6b130a24cf9a960e1a43b696160
ref 5e7456a3150ddaed135f702c70800c7ed3d4f16f

src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c

index 5c4b043..ba14b17 100644 (file)
@@ -316,9 +316,18 @@ _ecore_evas_wl_common_cb_window_configure(void *data EINA_UNUSED, int type EINA_
 
    if ((!nw) && (!nh))
      {
-        /* this assumes ecore-wl2 continues to immediately ack every configure */
-        if (wdata->win->surface && ((!state_change) || ((pfw == fw) && (pfh == fh))))
-          wl_surface_commit(wdata->win->surface);
+        if (wdata->win->configure_serial && wdata->win->surface &&
+            ((!state_change) || ((pfw == fw) && (pfh == fh))))
+          {
+             if (wdata->win->zxdg_configure_ack)
+               wdata->win->zxdg_configure_ack(wdata->win->zxdg_surface,
+                                              wdata->win->configure_serial);
+             else if (wdata->win->configure_ack)
+               wdata->win->configure_ack(wdata->win->xdg_surface,
+                                         wdata->win->configure_serial);
+             wdata->win->configure_serial = 0;
+             wl_surface_commit(wdata->win->surface);
+          }
         return ECORE_CALLBACK_RENEW;
      }