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