discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=0321fd690e6c231d14843785a0308e4e51e2c1e6

commit 0321fd690e6c231d14843785a0308e4e51e2c1e6
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Fri Jul 24 16:33:06 2015 -0400

    do not send duplicate configures for wayland clients during maximize
    
    this seems to not have caused any real issues, but it made debugging
    more of a pain and is unnecessary connection noise
---
 src/bin/e_comp_wl.c                       | 15 ++++++++++++++-
 src/bin/e_comp_wl.h                       |  1 +
 src/modules/wl_desktop_shell/e_mod_main.c |  1 -
 3 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 77c2928..7876564 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -627,7 +627,7 @@ _e_comp_wl_evas_cb_resize(void *data, Evas_Object *obj 
EINA_UNUSED, void *event
                                             e_comp->wl_comp_data->resize.edges,
                                             x, y);
      }
-   else
+   else if ((!ec->fullscreen) && (!ec->maximized) && 
(!ec->comp_data->maximize_pre))
      ec->comp_data->shell.configure_send(ec->comp_data->shell.surface,
                                          e_comp->wl_comp_data->resize.edges,
                                          ec->client.w, ec->client.h);
@@ -644,6 +644,15 @@ _e_comp_wl_evas_cb_state_update(void *data, Evas_Object 
*obj EINA_UNUSED, void *
 
    if (ec->comp_data->shell.configure_send)
      ec->comp_data->shell.configure_send(ec->comp_data->shell.surface, 0, 
ec->client.w, ec->client.h);
+   ec->comp_data->maximize_pre = 0;
+}
+
+static void
+_e_comp_wl_evas_cb_maximize_pre(void *data, Evas_Object *obj EINA_UNUSED, void 
*event EINA_UNUSED)
+{
+   E_Client *ec = data;
+
+   ec->comp_data->maximize_pre = 1;
 }
 
 static void
@@ -775,6 +784,10 @@ _e_comp_wl_client_evas_init(E_Client *ec)
                                        _e_comp_wl_evas_cb_state_update, ec);
         evas_object_smart_callback_add(ec->frame, "unmaximize_done",
                                        _e_comp_wl_evas_cb_state_update, ec);
+        evas_object_smart_callback_add(ec->frame, "maximize_pre",
+                                       _e_comp_wl_evas_cb_maximize_pre, ec);
+        evas_object_smart_callback_add(ec->frame, "unmaximize_pre",
+                                       _e_comp_wl_evas_cb_maximize_pre, ec);
         evas_object_smart_callback_add(ec->frame, "fullscreen",
                                        _e_comp_wl_evas_cb_state_update, ec);
         evas_object_smart_callback_add(ec->frame, "unfullscreen",
diff --git a/src/bin/e_comp_wl.h b/src/bin/e_comp_wl.h
index c3aa60e..32a8cba 100644
--- a/src/bin/e_comp_wl.h
+++ b/src/bin/e_comp_wl.h
@@ -286,6 +286,7 @@ struct _E_Comp_Wl_Client_Data
    Eina_Bool first_damage : 1;
    Eina_Bool set_win_type : 1;
    Eina_Bool frame_update : 1;
+   Eina_Bool maximize_pre : 1;
 };
 
 struct _E_Comp_Wl_Output
diff --git a/src/modules/wl_desktop_shell/e_mod_main.c 
b/src/modules/wl_desktop_shell/e_mod_main.c
index c124439..ce0d14e 100644
--- a/src/modules/wl_desktop_shell/e_mod_main.c
+++ b/src/modules/wl_desktop_shell/e_mod_main.c
@@ -846,7 +846,6 @@ _e_xdg_shell_surface_cb_maximized_set(struct wl_client 
*client EINA_UNUSED, stru
      {
         e_client_maximize(ec, ((e_config->maximize_policy & E_MAXIMIZE_TYPE) |
                                E_MAXIMIZE_BOTH));
-        _e_xdg_shell_surface_configure_send(resource, 0, ec->w, ec->h);
      }
 }
 

-- 


Reply via email to