summaryrefslogtreecommitdiff
path: root/legacy/ecore
diff options
context:
space:
mode:
Diffstat (limited to 'legacy/ecore')
-rw-r--r--legacy/ecore/ChangeLog10
-rw-r--r--legacy/ecore/NEWS2
-rw-r--r--legacy/ecore/src/lib/ecore_evas/ecore_evas_buffer.c14
-rw-r--r--legacy/ecore/src/lib/ecore_evas/ecore_evas_cocoa.c23
-rw-r--r--legacy/ecore/src/lib/ecore_evas/ecore_evas_fb.c30
-rw-r--r--legacy/ecore/src/lib/ecore_evas/ecore_evas_psl1ght.c31
-rw-r--r--legacy/ecore/src/lib/ecore_evas/ecore_evas_sdl.c31
-rw-r--r--legacy/ecore/src/lib/ecore_evas/ecore_evas_x.c10
8 files changed, 103 insertions, 48 deletions
diff --git a/legacy/ecore/ChangeLog b/legacy/ecore/ChangeLog
index fe09c18..36790b5f 100644
--- a/legacy/ecore/ChangeLog
+++ b/legacy/ecore/ChangeLog
@@ -333,3 +333,13 @@
333 * Ecore_Win32, Ecore_WinCE: fix Shift, Control and Alt keys 333 * Ecore_Win32, Ecore_WinCE: fix Shift, Control and Alt keys
334 detection 334 detection
335 * Ecore_Win32: fix "mouse-down inside and mouse-up outside" issue 335 * Ecore_Win32: fix "mouse-down inside and mouse-up outside" issue
336
3372011-11-2 Carsten Haitzler (The Rasterman)
338
339 * Fix bug ecore-evas for fb, buffer, sdl back-ends to ensure
340 mouse is in on init (as events wont always give this) and focus
341 is set on show if appropriate if no focus in/out events come
342 from the back-end later
343 * Fix setting override state to only hide if it should be
344 visible at that point in x back end support
345
diff --git a/legacy/ecore/NEWS b/legacy/ecore/NEWS
index b701180..6a1b81f 100644
--- a/legacy/ecore/NEWS
+++ b/legacy/ecore/NEWS
@@ -88,6 +88,7 @@ Fixes:
88 * use current size not requested size when getting geom in ecore-evas 88 * use current size not requested size when getting geom in ecore-evas
89 * ecore_cocoa now handles windows correctly 89 * ecore_cocoa now handles windows correctly
90 * ecore_file_download error handling when ecore_con_url_get fails 90 * ecore_file_download error handling when ecore_con_url_get fails
91 * focus and mouse-in ininital siate on some ecore-evas back-ends
91 92
92Improvements: 93Improvements:
93 94
@@ -104,6 +105,7 @@ Improvements:
104 * inet_ntop instead of getnameinfo for ecore_con_client_get_ip 105 * inet_ntop instead of getnameinfo for ecore_con_client_get_ip
105 * ecore-con unit tests added 106 * ecore-con unit tests added
106 * ecore-evas fb uses ecore_input_evas now instead of going direct 107 * ecore-evas fb uses ecore_input_evas now instead of going direct
108 * fix ecore-evas x changing of override support if window not shown yet
107 109
108Removals: 110Removals:
109 111
diff --git a/legacy/ecore/src/lib/ecore_evas/ecore_evas_buffer.c b/legacy/ecore/src/lib/ecore_evas/ecore_evas_buffer.c
index 3299f61..a3e49d6 100644
--- a/legacy/ecore/src/lib/ecore_evas/ecore_evas_buffer.c
+++ b/legacy/ecore/src/lib/ecore_evas/ecore_evas_buffer.c
@@ -101,6 +101,16 @@ _ecore_evas_buffer_shutdown(void)
101 return _ecore_evas_init_count; 101 return _ecore_evas_init_count;
102} 102}
103 103
104static void
105_ecore_evas_show(Ecore_Evas *ee)
106{
107 if (ee->engine.buffer.image) return;
108 if (ee->prop.focused) return;
109 ee->prop.focused = 1;
110 evas_focus_in(ee->evas);
111 if (ee->func.fn_focus_in) ee->func.fn_focus_in(ee);
112}
113
104int 114int
105_ecore_evas_buffer_render(Ecore_Evas *ee) 115_ecore_evas_buffer_render(Ecore_Evas *ee)
106{ 116{
@@ -484,7 +494,7 @@ static Ecore_Evas_Engine_Func _ecore_buffer_engine_func =
484 NULL, 494 NULL,
485 NULL, 495 NULL,
486 NULL, 496 NULL,
487 NULL, 497 _ecore_evas_show,
488 NULL, 498 NULL,
489 NULL, 499 NULL,
490 NULL, 500 NULL,
@@ -629,6 +639,8 @@ ecore_evas_buffer_allocfunc_new(int w, int h, void *(*alloc_func) (void *data, i
629 ee->engine.func->fn_render = _ecore_evas_buffer_render; 639 ee->engine.func->fn_render = _ecore_evas_buffer_render;
630 _ecore_evas_register(ee); 640 _ecore_evas_register(ee);
631 641
642 evas_event_feed_mouse_in(ee->evas, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff), NULL);
643
632 return ee; 644 return ee;
633#else 645#else
634 return NULL; 646 return NULL;
diff --git a/legacy/ecore/src/lib/ecore_evas/ecore_evas_cocoa.c b/legacy/ecore/src/lib/ecore_evas/ecore_evas_cocoa.c
index df70843..1f946d5 100644
--- a/legacy/ecore/src/lib/ecore_evas/ecore_evas_cocoa.c
+++ b/legacy/ecore/src/lib/ecore_evas/ecore_evas_cocoa.c
@@ -113,10 +113,12 @@ _ecore_evas_cocoa_event_got_focus(void *data __UNUSED__, int type __UNUSED__, vo
113 113
114 ee = _ecore_evas_cocoa_match(); 114 ee = _ecore_evas_cocoa_match();
115 115
116 if (!ee) return 1; 116 if (!ee) return ECORE_CALLBACK_PASS_ON;
117 ee->prop.focused = 1; 117 ee->prop.focused = 1;
118 118 evas_focus_in(ee->evas);
119 return 0; 119 if (ee->func.fn_focus_in) ee->func.fn_focus_in(ee);
120
121 return ECORE_CALLBACK_PASS_ON;
120} 122}
121 123
122static int 124static int
@@ -128,10 +130,12 @@ _ecore_evas_cocoa_event_lost_focus(void *data __UNUSED__, int type __UNUSED__, v
128 130
129 ee = _ecore_evas_cocoa_match(); 131 ee = _ecore_evas_cocoa_match();
130 132
131 if (!ee) return 1; 133 if (!ee) return ECORE_CALLBACK_PASS_ON;
134 evas_focus_out(ee->evas);
132 ee->prop.focused = 0; 135 ee->prop.focused = 0;
136 if (ee->func.fn_focus_out) ee->func.fn_focus_out(ee);
133 137
134 return 0; 138 return ECORE_CALLBACK_PASS_ON;
135} 139}
136 140
137static int 141static int
@@ -149,7 +153,7 @@ _ecore_evas_cocoa_event_video_resize(void *data __UNUSED__, int type __UNUSED__,
149 return 0;*/ 153 return 0;*/
150 154
151 DBG("Video Resize"); 155 DBG("Video Resize");
152 156 return ECORE_CALLBACK_PASS_ON;
153} 157}
154 158
155static int 159static int
@@ -163,11 +167,11 @@ _ecore_evas_cocoa_event_video_expose(void *data __UNUSED__, int type __UNUSED__,
163 167
164 ee = _ecore_evas_cocoa_match(); 168 ee = _ecore_evas_cocoa_match();
165 169
166 if (!ee) return 1; 170 if (!ee) return ECORE_CALLBACK_PASS_ON;
167 evas_output_size_get(ee->evas, &w, &h); 171 evas_output_size_get(ee->evas, &w, &h);
168 evas_damage_rectangle_add(ee->evas, 0, 0, w, h); 172 evas_damage_rectangle_add(ee->evas, 0, 0, w, h);
169 173
170 return 0; 174 return ECORE_CALLBACK_PASS_ON;
171} 175}
172 176
173static int 177static int
@@ -187,7 +191,7 @@ _ecore_evas_idle_enter(void *data __UNUSED__)
187 evas_norender(ee->evas); 191 evas_norender(ee->evas);
188 } 192 }
189 193
190 return 1; 194 return EINA_TRUE;
191} 195}
192 196
193static int 197static int
@@ -544,6 +548,7 @@ ecore_evas_cocoa_new(Ecore_Cocoa_Window *parent, int x, int y, int w, int h)
544 _ecore_evas_register(ee); 548 _ecore_evas_register(ee);
545 ecore_event_window_register(0, ee, ee->evas, NULL, NULL, NULL, NULL); 549 ecore_event_window_register(0, ee, ee->evas, NULL, NULL, NULL, NULL);
546 550
551 evas_event_feed_mouse_in(ee->evas, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff), NULL);
547 printf("Ecore Evas returned : %p\n", ee); 552 printf("Ecore Evas returned : %p\n", ee);
548 return ee; 553 return ee;
549 554
diff --git a/legacy/ecore/src/lib/ecore_evas/ecore_evas_fb.c b/legacy/ecore/src/lib/ecore_evas/ecore_evas_fb.c
index 943ef7f..47c13cc 100644
--- a/legacy/ecore/src/lib/ecore_evas/ecore_evas_fb.c
+++ b/legacy/ecore/src/lib/ecore_evas/ecore_evas_fb.c
@@ -102,9 +102,9 @@ _ecore_evas_event_mouse_button_down(void *data __UNUSED__, int type __UNUSED__,
102 102
103 e = event; 103 e = event;
104 ee = _ecore_evas_fb_match(); 104 ee = _ecore_evas_fb_match();
105 if (!ee) return EINA_TRUE; /* pass on event */ 105 if (!ee) return ECORE_CALLBACK_PASS_ON;
106 _ecore_evas_mouse_move_process_fb(ee, e->x, e->y); 106 _ecore_evas_mouse_move_process_fb(ee, e->x, e->y);
107 return EINA_TRUE; /* dont pass it on */ 107 return ECORE_CALLBACK_PASS_ON;
108} 108}
109 109
110static Eina_Bool 110static Eina_Bool
@@ -115,9 +115,9 @@ _ecore_evas_event_mouse_button_up(void *data __UNUSED__, int type __UNUSED__, vo
115 115
116 e = event; 116 e = event;
117 ee = _ecore_evas_fb_match(); 117 ee = _ecore_evas_fb_match();
118 if (!ee) return EINA_TRUE; /* pass on event */ 118 if (!ee) return ECORE_CALLBACK_PASS_ON;
119 _ecore_evas_mouse_move_process_fb(ee, e->x, e->y); 119 _ecore_evas_mouse_move_process_fb(ee, e->x, e->y);
120 return EINA_TRUE; /* dont pass it on */ 120 return ECORE_CALLBACK_PASS_ON;
121} 121}
122 122
123static Eina_Bool 123static Eina_Bool
@@ -128,9 +128,9 @@ _ecore_evas_event_mouse_move(void *data __UNUSED__, int type __UNUSED__, void *e
128 128
129 e = event; 129 e = event;
130 ee = _ecore_evas_fb_match(); 130 ee = _ecore_evas_fb_match();
131 if (!ee) return EINA_TRUE; /* pass on event */ 131 if (!ee) return ECORE_CALLBACK_PASS_ON;
132 _ecore_evas_mouse_move_process_fb(ee, e->x, e->y); 132 _ecore_evas_mouse_move_process_fb(ee, e->x, e->y);
133 return EINA_TRUE; /* dont pass it on */ 133 return ECORE_CALLBACK_PASS_ON;
134} 134}
135 135
136static Eina_Bool 136static Eina_Bool
@@ -141,9 +141,9 @@ _ecore_evas_event_mouse_wheel(void *data __UNUSED__, int type __UNUSED__, void *
141 141
142 e = event; 142 e = event;
143 ee = _ecore_evas_fb_match(); 143 ee = _ecore_evas_fb_match();
144 if (!ee) return EINA_TRUE; /* pass on event */ 144 if (!ee) return ECORE_CALLBACK_PASS_ON;
145 _ecore_evas_mouse_move_process_fb(ee, e->x, e->y); 145 _ecore_evas_mouse_move_process_fb(ee, e->x, e->y);
146 return EINA_TRUE; /* dont pass it on */ 146 return ECORE_CALLBACK_PASS_ON;
147} 147}
148 148
149static int 149static int
@@ -371,6 +371,15 @@ _ecore_evas_rotation_set(Ecore_Evas *ee, int rotation, int resize __UNUSED__)
371} 371}
372 372
373static void 373static void
374_ecore_evas_show(Ecore_Evas *ee)
375{
376 if (ee->prop.focused) return;
377 ee->prop.focused = 1;
378 evas_focus_in(ee->evas);
379 if (ee->func.fn_focus_in) ee->func.fn_focus_in(ee);
380}
381
382static void
374_ecore_evas_object_cursor_del(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) 383_ecore_evas_object_cursor_del(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
375{ 384{
376 Ecore_Evas *ee; 385 Ecore_Evas *ee;
@@ -508,7 +517,7 @@ static Ecore_Evas_Engine_Func _ecore_fb_engine_func =
508 _ecore_evas_move_resize, 517 _ecore_evas_move_resize,
509 _ecore_evas_rotation_set, 518 _ecore_evas_rotation_set,
510 NULL, 519 NULL,
511 NULL, 520 _ecore_evas_show,
512 NULL, 521 NULL,
513 NULL, 522 NULL,
514 NULL, 523 NULL,
@@ -636,10 +645,7 @@ ecore_evas_fb_new(const char *disp_name, int rotation, int w, int h)
636 ee->engine.func->fn_render = _ecore_evas_fb_render; 645 ee->engine.func->fn_render = _ecore_evas_fb_render;
637 _ecore_evas_register(ee); 646 _ecore_evas_register(ee);
638 fb_ee = ee; 647 fb_ee = ee;
639
640 evas_event_feed_mouse_in(ee->evas, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff), NULL); 648 evas_event_feed_mouse_in(ee->evas, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff), NULL);
641 evas_focus_in(ee->evas);
642
643 return ee; 649 return ee;
644} 650}
645#else 651#else
diff --git a/legacy/ecore/src/lib/ecore_evas/ecore_evas_psl1ght.c b/legacy/ecore/src/lib/ecore_evas/ecore_evas_psl1ght.c
index 88fa974..0849c79 100644
--- a/legacy/ecore/src/lib/ecore_evas/ecore_evas_psl1ght.c
+++ b/legacy/ecore/src/lib/ecore_evas/ecore_evas_psl1ght.c
@@ -46,8 +46,10 @@ _ecore_evas_psl1ght_event_got_focus(void *data __UNUSED__, int type __UNUSED__,
46 if (!ee) return ECORE_CALLBACK_PASS_ON; 46 if (!ee) return ECORE_CALLBACK_PASS_ON;
47 /* pass on event */ 47 /* pass on event */
48 ee->prop.focused = 1; 48 ee->prop.focused = 1;
49 49 evas_focus_in(ee->evas);
50 return ECORE_CALLBACK_DONE; 50 if (ee->func.fn_focus_in) ee->func.fn_focus_in(ee);
51
52 return ECORE_CALLBACK_PASS_ON;
51} 53}
52 54
53static Eina_Bool 55static Eina_Bool
@@ -59,9 +61,11 @@ _ecore_evas_psl1ght_event_lost_focus(void *data __UNUSED__, int type __UNUSED__,
59 61
60 if (!ee) return ECORE_CALLBACK_PASS_ON; 62 if (!ee) return ECORE_CALLBACK_PASS_ON;
61 /* pass on event */ 63 /* pass on event */
64 evas_focus_out(ee->evas);
62 ee->prop.focused = 0; 65 ee->prop.focused = 0;
63 66 if (ee->func.fn_focus_out) ee->func.fn_focus_out(ee);
64 return ECORE_CALLBACK_DONE; 67
68 return ECORE_CALLBACK_PASS_ON;
65} 69}
66 70
67static Eina_Bool 71static Eina_Bool
@@ -77,7 +81,7 @@ _ecore_evas_psl1ght_event_video_expose(void *data __UNUSED__, int type __UNUSED_
77 evas_output_size_get(ee->evas, &w, &h); 81 evas_output_size_get(ee->evas, &w, &h);
78 evas_damage_rectangle_add(ee->evas, 0, 0, w, h); 82 evas_damage_rectangle_add(ee->evas, 0, 0, w, h);
79 83
80 return ECORE_CALLBACK_DONE; 84 return ECORE_CALLBACK_PASS_ON;
81} 85}
82 86
83static Eina_Bool 87static Eina_Bool
@@ -91,7 +95,7 @@ _ecore_evas_psl1ght_event_key_modifiers(void *data __UNUSED__, int type __UNUSED
91 if (!ee) return ECORE_CALLBACK_PASS_ON; 95 if (!ee) return ECORE_CALLBACK_PASS_ON;
92 ecore_event_evas_modifier_lock_update(ee->evas, e->modifiers); 96 ecore_event_evas_modifier_lock_update(ee->evas, e->modifiers);
93 97
94 return ECORE_CALLBACK_DONE; 98 return ECORE_CALLBACK_PASS_ON;
95} 99}
96 100
97static int 101static int
@@ -255,6 +259,15 @@ _ecore_evas_move_resize(Ecore_Evas *ee, int x __UNUSED__, int y __UNUSED__, int
255} 259}
256 260
257static void 261static void
262_ecore_evas_show(Ecore_Evas *ee)
263{
264 if (ee->prop.focused) return;
265 ee->prop.focused = 1;
266 evas_focus_in(ee->evas);
267 if (ee->func.fn_focus_in) ee->func.fn_focus_in(ee);
268}
269
270static void
258_ecore_evas_screen_geometry_get(const Ecore_Evas *ee __UNUSED__, int *x, int *y, int *w, int *h) 271_ecore_evas_screen_geometry_get(const Ecore_Evas *ee __UNUSED__, int *x, int *y, int *w, int *h)
259{ 272{
260 if (x) *x = 0; 273 if (x) *x = 0;
@@ -327,7 +340,7 @@ static Ecore_Evas_Engine_Func _ecore_psl1ght_engine_func =
327 _ecore_evas_move_resize, 340 _ecore_evas_move_resize,
328 NULL, 341 NULL,
329 NULL, 342 NULL,
330 NULL, 343 _ecore_evas_show,
331 NULL, 344 NULL,
332 NULL, 345 NULL,
333 NULL, 346 NULL,
@@ -441,13 +454,13 @@ ecore_evas_psl1ght_new(const char *name, int w, int h)
441 454
442 psl1ght_ee = ee; 455 psl1ght_ee = ee;
443 456
444 evas_event_feed_mouse_in(ee->evas, _ecore_evas_time_get (), NULL);
445 evas_focus_in(ee->evas);
446 _ecore_evas_screen_resized (ee); 457 _ecore_evas_screen_resized (ee);
447 458
448 if (getenv("ECORE_EVAS_PSL1GHT_CURSOR_PATH")) 459 if (getenv("ECORE_EVAS_PSL1GHT_CURSOR_PATH"))
449 ecore_evas_cursor_set(ee, getenv("ECORE_EVAS_PSL1GHT_CURSOR_PATH"), EVAS_LAYER_MAX, 0, 0); 460 ecore_evas_cursor_set(ee, getenv("ECORE_EVAS_PSL1GHT_CURSOR_PATH"), EVAS_LAYER_MAX, 0, 0);
450 461
462 evas_event_feed_mouse_in(ee->evas, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff), NULL);
463
451 return ee; 464 return ee;
452} 465}
453 466
diff --git a/legacy/ecore/src/lib/ecore_evas/ecore_evas_sdl.c b/legacy/ecore/src/lib/ecore_evas/ecore_evas_sdl.c
index e70c995..b333d96 100644
--- a/legacy/ecore/src/lib/ecore_evas/ecore_evas_sdl.c
+++ b/legacy/ecore/src/lib/ecore_evas/ecore_evas_sdl.c
@@ -52,8 +52,9 @@ _ecore_evas_sdl_event_got_focus(void *data __UNUSED__, int type __UNUSED__, void
52 if (!ee) return ECORE_CALLBACK_PASS_ON; 52 if (!ee) return ECORE_CALLBACK_PASS_ON;
53 /* pass on event */ 53 /* pass on event */
54 ee->prop.focused = 1; 54 ee->prop.focused = 1;
55 55 evas_focus_in(ee->evas);
56 return ECORE_CALLBACK_DONE; 56 if (ee->func.fn_focus_in) ee->func.fn_focus_in(ee);
57 return ECORE_CALLBACK_PASS_ON;
57} 58}
58 59
59static Eina_Bool 60static Eina_Bool
@@ -66,8 +67,9 @@ _ecore_evas_sdl_event_lost_focus(void *data __UNUSED__, int type __UNUSED__, voi
66 if (!ee) return ECORE_CALLBACK_PASS_ON; 67 if (!ee) return ECORE_CALLBACK_PASS_ON;
67 /* pass on event */ 68 /* pass on event */
68 ee->prop.focused = 0; 69 ee->prop.focused = 0;
69 70 evas_focus_out(ee->evas);
70 return ECORE_CALLBACK_DONE; 71 if (ee->func.fn_focus_out) ee->func.fn_focus_out(ee);
72 return ECORE_CALLBACK_PASS_ON;
71} 73}
72 74
73static Eina_Bool 75static Eina_Bool
@@ -82,7 +84,7 @@ _ecore_evas_sdl_event_video_resize(void *data __UNUSED__, int type __UNUSED__, v
82 if (!ee) return ECORE_CALLBACK_PASS_ON; /* pass on event */ 84 if (!ee) return ECORE_CALLBACK_PASS_ON; /* pass on event */
83 evas_output_size_set(ee->evas, e->w, e->h); 85 evas_output_size_set(ee->evas, e->w, e->h);
84 86
85 return ECORE_CALLBACK_DONE; 87 return ECORE_CALLBACK_PASS_ON;
86} 88}
87 89
88static Eina_Bool 90static Eina_Bool
@@ -98,7 +100,7 @@ _ecore_evas_sdl_event_video_expose(void *data __UNUSED__, int type __UNUSED__, v
98 evas_output_size_get(ee->evas, &w, &h); 100 evas_output_size_get(ee->evas, &w, &h);
99 evas_damage_rectangle_add(ee->evas, 0, 0, w, h); 101 evas_damage_rectangle_add(ee->evas, 0, 0, w, h);
100 102
101 return ECORE_CALLBACK_DONE; 103 return ECORE_CALLBACK_PASS_ON;
102} 104}
103 105
104static int 106static int
@@ -240,13 +242,20 @@ _ecore_evas_move_resize(Ecore_Evas *ee, int x __UNUSED__, int y __UNUSED__, int
240} 242}
241 243
242static void 244static void
245_ecore_evas_show(Ecore_Evas *ee)
246{
247 if (ee->prop.focused) return;
248 ee->prop.focused = 1;
249 evas_event_feed_mouse_in(ee->evas, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff), NULL);
250}
251
252static void
243_ecore_evas_object_cursor_del(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) 253_ecore_evas_object_cursor_del(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
244{ 254{
245 Ecore_Evas *ee; 255 Ecore_Evas *ee;
246 256
247 ee = data; 257 ee = data;
248 if (ee) 258 if (ee) ee->prop.cursor.object = NULL;
249 ee->prop.cursor.object = NULL;
250} 259}
251 260
252static void 261static void
@@ -304,7 +313,7 @@ static Ecore_Evas_Engine_Func _ecore_sdl_engine_func =
304 _ecore_evas_move_resize, 313 _ecore_evas_move_resize,
305 NULL, 314 NULL,
306 NULL, 315 NULL,
307 NULL, 316 _ecore_evas_show,
308 NULL, 317 NULL,
309 NULL, 318 NULL,
310 NULL, 319 NULL,
@@ -458,10 +467,6 @@ _ecore_evas_internal_sdl_new(int rmethod, const char* name, int w, int h, int fu
458 _ecore_evas_register(ee); 467 _ecore_evas_register(ee);
459 468
460 sdl_ee = ee; 469 sdl_ee = ee;
461
462 evas_event_feed_mouse_in(ee->evas, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff), NULL);
463 evas_focus_in(ee->evas);
464
465 return ee; 470 return ee;
466} 471}
467#endif 472#endif
diff --git a/legacy/ecore/src/lib/ecore_evas/ecore_evas_x.c b/legacy/ecore/src/lib/ecore_evas/ecore_evas_x.c
index 2bb8f15..d9ccd6e 100644
--- a/legacy/ecore/src/lib/ecore_evas/ecore_evas_x.c
+++ b/legacy/ecore/src/lib/ecore_evas/ecore_evas_x.c
@@ -1005,7 +1005,8 @@ _ecore_evas_x_event_window_show(void *data __UNUSED__, int type __UNUSED__, void
1005 } 1005 }
1006 if ((first_map_bug) && (!strcmp(ee->driver, "opengl_x11"))) 1006 if ((first_map_bug) && (!strcmp(ee->driver, "opengl_x11")))
1007 evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h); 1007 evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
1008 if (ee->visible) return ECORE_CALLBACK_DONE; 1008 if (ee->visible) return ECORE_CALLBACK_PASS_ON;
1009// if (ee->visible) return ECORE_CALLBACK_DONE;
1009// printf("SHOW EVENT %p\n", ee); 1010// printf("SHOW EVENT %p\n", ee);
1010 ee->visible = 1; 1011 ee->visible = 1;
1011 if (ee->func.fn_show) ee->func.fn_show(ee); 1012 if (ee->func.fn_show) ee->func.fn_show(ee);
@@ -1022,7 +1023,8 @@ _ecore_evas_x_event_window_hide(void *data __UNUSED__, int type __UNUSED__, void
1022 ee = ecore_event_window_match(e->win); 1023 ee = ecore_event_window_match(e->win);
1023 if (!ee) return ECORE_CALLBACK_PASS_ON; /* pass on event */ 1024 if (!ee) return ECORE_CALLBACK_PASS_ON; /* pass on event */
1024 if (e->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON; 1025 if (e->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON;
1025 if (!ee->visible) return ECORE_CALLBACK_DONE; 1026 if (!ee->visible) return ECORE_CALLBACK_PASS_ON;
1027// if (!ee->visible) return ECORE_CALLBACK_DONE;
1026// printf("HIDE EVENT %p\n", ee); 1028// printf("HIDE EVENT %p\n", ee);
1027 ee->visible = 0; 1029 ee->visible = 0;
1028 if (ee->func.fn_hide) ee->func.fn_hide(ee); 1030 if (ee->func.fn_hide) ee->func.fn_hide(ee);
@@ -2460,9 +2462,9 @@ static void
2460_ecore_evas_x_override_set(Ecore_Evas *ee, int on) 2462_ecore_evas_x_override_set(Ecore_Evas *ee, int on)
2461{ 2463{
2462 if (ee->prop.override == on) return; 2464 if (ee->prop.override == on) return;
2463 ecore_x_window_hide(ee->prop.window); 2465 if (ee->should_be_visible) ecore_x_window_hide(ee->prop.window);
2464 ecore_x_window_override_set(ee->prop.window, on); 2466 ecore_x_window_override_set(ee->prop.window, on);
2465 if (ee->visible) ecore_x_window_show(ee->prop.window); 2467 if (ee->should_be_visible) ecore_x_window_show(ee->prop.window);
2466 if (ee->prop.focused) ecore_x_window_focus(ee->prop.window); 2468 if (ee->prop.focused) ecore_x_window_focus(ee->prop.window);
2467 ee->prop.override = on; 2469 ee->prop.override = on;
2468} 2470}