discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=25f0de11474cb286531bec5e07c69391861033db

commit 25f0de11474cb286531bec5e07c69391861033db
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Wed Mar 23 16:58:23 2016 -0400

    elm_win: monitor wl CONFIGURE events and unset resizing flag accordingly
    
    resolves inability to resize again after resizing
    
    @fix
---
 src/lib/elementary/elm_win.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/src/lib/elementary/elm_win.c b/src/lib/elementary/elm_win.c
index 9daa7bb..e7cbb7f 100644
--- a/src/lib/elementary/elm_win.c
+++ b/src/lib/elementary/elm_win.c
@@ -113,6 +113,7 @@ struct _Elm_Win_Data
    struct
    {
       Ecore_Wl2_Window *win;
+      Ecore_Event_Handler *configure_handler;
       Eina_Bool opaque_dirty : 1;
    } wl;
 #endif
@@ -1966,6 +1967,9 @@ _elm_win_evas_object_smart_del(Eo *obj, Elm_Win_Data *sd)
    ecore_event_handler_del(sd->x.client_message_handler);
    ecore_event_handler_del(sd->x.property_handler);
 #endif
+#ifdef HAVE_ELEMENTARY_WL2
+   ecore_event_handler_del(sd->wl.configure_handler);
+#endif
 
    if (sd->img_obj)
      {
@@ -3010,6 +3014,17 @@ _elm_win_frame_cb_close(void *data,
 }
 
 #ifdef HAVE_ELEMENTARY_WL2
+static Eina_Bool
+_elm_win_wl_configure(void *data, int t EINA_UNUSED, void *event)
+{
+   Ecore_Wl2_Event_Window_Configure *ev = event;
+   ELM_WIN_DATA_GET(data, sd);
+   if (ecore_wl2_window_id_get(sd->wl.win) != (int)ev->win) return 
ECORE_CALLBACK_RENEW;
+
+   if (sd->resizing && (!ev->edges)) sd->resizing = EINA_FALSE;
+   return ECORE_CALLBACK_RENEW;
+}
+
 static void
 _elm_win_frame_pre_render(void *data, Evas *e EINA_UNUSED, void *ev 
EINA_UNUSED)
 {
@@ -3754,6 +3769,10 @@ _elm_win_finalize_internal(Eo *obj, Elm_Win_Data *sd, 
const char *name, Elm_Win_
 
 #ifdef HAVE_ELEMENTARY_WL2
    _elm_win_wlwindow_get(sd);
+   if (eina_streq(engine, ELM_WAYLAND_SHM) || eina_streq(engine, 
ELM_WAYLAND_EGL))
+     sd->wl.configure_handler =
+       ecore_event_handler_add(ECORE_WL2_EVENT_WINDOW_CONFIGURE,
+         _elm_win_wl_configure, obj);
 #endif
 
 #ifdef HAVE_ELEMENTARY_COCOA

-- 


Reply via email to