summaryrefslogtreecommitdiff
path: root/src/lib/ecore_win32/ecore_win32_event.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/ecore_win32/ecore_win32_event.c')
-rw-r--r--src/lib/ecore_win32/ecore_win32_event.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/lib/ecore_win32/ecore_win32_event.c b/src/lib/ecore_win32/ecore_win32_event.c
index a22fbed992..cf6b4492cc 100644
--- a/src/lib/ecore_win32/ecore_win32_event.c
+++ b/src/lib/ecore_win32/ecore_win32_event.c
@@ -1776,6 +1776,9 @@ _ecore_win32_event_handle_create_notify(Ecore_Win32_Callback_Data *msg)
{
Ecore_Win32_Event_Window_Create *e;
+ if (msg->window == ecore_win32_monitor_window)
+ return;
+
INF("window create notify");
e = calloc(1, sizeof(Ecore_Win32_Event_Window_Create));
@@ -1793,6 +1796,9 @@ _ecore_win32_event_handle_destroy_notify(Ecore_Win32_Callback_Data *msg)
{
Ecore_Win32_Event_Window_Destroy *e;
+ if (msg->window == ecore_win32_monitor_window)
+ return;
+
INF("window destroy notify");
e = calloc(1, sizeof(Ecore_Win32_Event_Window_Destroy));
@@ -1841,7 +1847,7 @@ _ecore_win32_event_handle_unmap_notify(Ecore_Win32_Callback_Data *msg)
}
void
-_ecore_win32_event_handle_configure_notify(Ecore_Win32_Callback_Data *msg)
+_ecore_win32_event_handle_configure_notify(Ecore_Win32_Callback_Data *msg, Eina_Bool wmsize)
{
WINDOWINFO wi;
Ecore_Win32_Event_Window_Configure *e;
@@ -1854,14 +1860,15 @@ _ecore_win32_event_handle_configure_notify(Ecore_Win32_Callback_Data *msg)
window_pos = (WINDOWPOS *)msg->data_param;
wi.cbSize = sizeof(WINDOWINFO);
- if (!GetWindowInfo(window_pos->hwnd, &wi))
+ if (!GetWindowInfo(msg->window, &wi))
{
free(e);
return;
}
e->window = (void *)GetWindowLongPtr(msg->window, GWLP_USERDATA);
- e->abovewin = (void *)GetWindowLongPtr(window_pos->hwndInsertAfter, GWLP_USERDATA);
+ if (!wmsize)
+ e->abovewin = (void *)GetWindowLongPtr(window_pos->hwndInsertAfter, GWLP_USERDATA);
e->x = wi.rcClient.left;
e->y = wi.rcClient.top;
e->width = wi.rcClient.right - wi.rcClient.left;