diff --git a/src/lib/ecore_win32/ecore_win32.c b/src/lib/ecore_win32/ecore_win32.c index ec9738ee1b..3801015b8f 100644 --- a/src/lib/ecore_win32/ecore_win32.c +++ b/src/lib/ecore_win32/ecore_win32.c @@ -527,6 +527,8 @@ ecore_win32_init() goto shutdown_ecore_event; } + ecore_win32_monitor_init(); + icon = LoadImage(_ecore_win32_instance, MAKEINTRESOURCE(IDI_ICON), IMAGE_ICON, @@ -589,8 +591,6 @@ ecore_win32_init() for (i = 0; i < 77; i++) _ecore_win32_cursor_x[i] = _ecore_win32_cursor_x11_shaped_new(i); - ecore_win32_monitor_init(); - return _ecore_win32_init_count; unregister_class: @@ -625,8 +625,6 @@ ecore_win32_shutdown() if (--_ecore_win32_init_count != 0) return _ecore_win32_init_count; - ecore_win32_monitor_shutdown(); - for (i = 0; i < 77; i++) ecore_win32_cursor_free(_ecore_win32_cursor_x[i]); @@ -651,6 +649,8 @@ ecore_win32_shutdown() if (!UnregisterClass(ECORE_WIN32_WINDOW_CLASS, _ecore_win32_instance)) INF("UnregisterClass() failed"); + ecore_win32_monitor_shutdown(); + if (!FreeLibrary(_ecore_win32_instance)) INF("FreeLibrary() failed"); diff --git a/src/lib/ecore_win32/ecore_win32_event.c b/src/lib/ecore_win32/ecore_win32_event.c index a22fbed992..e6ab091945 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));