antognolli pushed a commit to branch ecore-1.7.

commit b0c41b16b88284b6f18de5ffd9c0a2b80dc0a601
Author: Rafael Antognolli <[email protected]>
Date:   Thu May 2 13:30:39 2013 -0300

    ecore_evas/wayland: Artificially call the changed_state callback.
    
    On maximize and fullscreen set, call this callback manually, which will
    make Elementary emit the maximized and fullscreen events, and also
    update its internal state for these attributes.
    
    The implementation is not done correctly as it is in the dev branch
    because we are trying to not create new API's (even for the Wayland
    backend, which is still under heavy development) on the stable branch,
    unless it's extremely needed.
---
 src/lib/ecore_evas/ecore_evas_wayland_egl.c | 4 ++++
 src/lib/ecore_evas/ecore_evas_wayland_shm.c | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/src/lib/ecore_evas/ecore_evas_wayland_egl.c 
b/src/lib/ecore_evas/ecore_evas_wayland_egl.c
index e68adc9..61ca385 100644
--- a/src/lib/ecore_evas/ecore_evas_wayland_egl.c
+++ b/src/lib/ecore_evas/ecore_evas_wayland_egl.c
@@ -758,6 +758,8 @@ _ecore_evas_wl_maximized_set(Ecore_Evas *ee, int max)
    if (ee->prop.maximized == max) return;
    ee->prop.maximized = max;
    ecore_wl_window_maximized_set(ee->engine.wl.win, max);
+   if (ee->func.fn_state_change)
+     ee->func.fn_state_change(ee);
 }
 
 static void 
@@ -769,6 +771,8 @@ _ecore_evas_wl_fullscreen_set(Ecore_Evas *ee, int full)
    if (ee->prop.fullscreen == full) return;
    ee->prop.fullscreen = full;
    ecore_wl_window_fullscreen_set(ee->engine.wl.win, full);
+   if (ee->func.fn_state_change)
+     ee->func.fn_state_change(ee);
 }
 
 static void 
diff --git a/src/lib/ecore_evas/ecore_evas_wayland_shm.c 
b/src/lib/ecore_evas/ecore_evas_wayland_shm.c
index d4ebf80..a8e0181 100644
--- a/src/lib/ecore_evas/ecore_evas_wayland_shm.c
+++ b/src/lib/ecore_evas/ecore_evas_wayland_shm.c
@@ -844,6 +844,8 @@ _ecore_evas_wl_maximized_set(Ecore_Evas *ee, int max)
    if (ee->prop.maximized == max) return;
    ee->prop.maximized = max;
    ecore_wl_window_maximized_set(ee->engine.wl.win, max);
+   if (ee->func.fn_state_change)
+     ee->func.fn_state_change(ee);
 }
 
 static void 
@@ -855,6 +857,8 @@ _ecore_evas_wl_fullscreen_set(Ecore_Evas *ee, int full)
    if (ee->prop.fullscreen == full) return;
    ee->prop.fullscreen = full;
    ecore_wl_window_fullscreen_set(ee->engine.wl.win, full);
+   if (ee->func.fn_state_change)
+     ee->func.fn_state_change(ee);
 }
 
 static void 

-- 

------------------------------------------------------------------------------
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
Get 100% visibility into your production application - at no cost.
Code-level diagnostics for performance bottlenecks with <2% overhead
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap1

Reply via email to