jypark pushed a commit to branch master.
commit 9210db4dd5a2eb5d1623b1370f180fe47defd376
Author: Jiyoun Park <[email protected]>
Date: Thu Mar 7 16:33:59 2013 +0900
Ecore_x: Add manual render code before deiconify
---
ChangeLog | 4 ++++
NEWS | 1 +
src/modules/ecore_evas/engines/x/ecore_evas_x.c | 19 +++++++++++++++++++
3 files changed, 24 insertions(+)
diff --git a/ChangeLog b/ChangeLog
index ac722ed..ca6a15e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2013-03-07 Jiyoun Park (Jypark)
+
+ * Ecore_x: Add manual render code before deiconify
+
2013-03-06 Jihoon Kim (jihoon)
* Edje entry: fix bug scroll works when PgDn, PgUp, Home, End key in
entry is pressed in preedit state
diff --git a/NEWS b/NEWS
index 365c199..002ccdf 100644
--- a/NEWS
+++ b/NEWS
@@ -69,6 +69,7 @@ Additions:
* Add infrastructure to handle message between ecore and parent ecore in
Ecore_Evas.
* Edje textblock: Added support for size_range.
* Ecore_x: Add atom related with indicator type.
+ * Ecore_x: Add manual render code before deiconify
Deprecations:
* ecore_x:
diff --git a/src/modules/ecore_evas/engines/x/ecore_evas_x.c
b/src/modules/ecore_evas/engines/x/ecore_evas_x.c
index fb16269..0ec9c5e 100644
--- a/src/modules/ecore_evas/engines/x/ecore_evas_x.c
+++ b/src/modules/ecore_evas/engines/x/ecore_evas_x.c
@@ -183,6 +183,12 @@ _ecore_evas_x_protocols_set(Ecore_Evas *ee)
ecore_x_window_prop_card32_set(ee->prop.window,
ECORE_X_ATOM_NET_WM_SYNC_REQUEST_COUNTER,
&tmp, 1);
+
+ // set property on window to say "I talk the deiconify approve protcol"
+ tmp = 1;
+ ecore_x_window_prop_card32_set(ee->prop.window,
+ ECORE_X_ATOM_E_DEICONIFY_APPROVE,
+ &tmp, 1);
}
static void
@@ -996,6 +1002,19 @@ _ecore_evas_x_event_client_message(void *data
EINA_UNUSED, int type EINA_UNUSED,
///TODO after access structure determined
// if (ee->func.fn_msg_handle)
// ee->func.fn_msg_handle(ee, msg_domain, msg_id, data, size);
+ }
+ else if (e->message_type == ECORE_X_ATOM_E_DEICONIFY_APPROVE)
+ {
+ ee = ecore_event_window_match(e->win);
+ if (!ee) return ECORE_CALLBACK_PASS_ON; /* pass on event */
+
+ if (ecore_evas_manual_render_get(ee))
+ ecore_evas_manual_render(ee);
+
+ ecore_x_client_message32_send(e->win, ECORE_X_ATOM_E_DEICONIFY_APPROVE,
+ ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
+ e->win, 1,
+ 0, 0, 0);
}
return ECORE_CALLBACK_PASS_ON;
}
--
------------------------------------------------------------------------------
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester
Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the
endpoint security space. For insight on selecting the right partner to
tackle endpoint security challenges, access the full report.
http://p.sf.net/sfu/symantec-dev2dev