summaryrefslogtreecommitdiff
path: root/src/bin/engine_software_16_x11.c
diff options
context:
space:
mode:
authorCarsten Haitzler <raster@rasterman.com>2009-03-27 09:37:17 +0000
committerCarsten Haitzler <raster@rasterman.com>2009-03-27 09:37:17 +0000
commit518b6dc1dd16d0a334e9364b7fdfb8133f130d35 (patch)
tree0a8f86fe4e426e8c829ce2249a31ba5f3f0b7f0c /src/bin/engine_software_16_x11.c
parentc4491666dea567528b70a568cbb9794d14f9c7b8 (diff)
wait for first expose in x11 engines before beginning to avoid wm delay.
SVN revision: 39751
Diffstat (limited to 'src/bin/engine_software_16_x11.c')
-rw-r--r--src/bin/engine_software_16_x11.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/bin/engine_software_16_x11.c b/src/bin/engine_software_16_x11.c
index a3db30e..2dd03ac 100644
--- a/src/bin/engine_software_16_x11.c
+++ b/src/bin/engine_software_16_x11.c
@@ -6,6 +6,7 @@
6 6
7static Display *disp = NULL; 7static Display *disp = NULL;
8static Window win = 0; 8static Window win = 0;
9static first_expose = 0;
9 10
10int 11int
11engine_software_16_x11_args(int argc, char **argv) 12engine_software_16_x11_args(int argc, char **argv)
@@ -73,6 +74,8 @@ engine_software_16_x11_args(int argc, char **argv)
73 XSetWMNormalHints(disp, win, &szhints); 74 XSetWMNormalHints(disp, win, &szhints);
74 XMapWindow(disp, win); 75 XMapWindow(disp, win);
75 XSync(disp, False); 76 XSync(disp, False);
77 while (!first_expose)
78 engine_software_16_x11_loop();
76 return 1; 79 return 1;
77} 80}
78 81
@@ -109,6 +112,7 @@ engine_software_16_x11_loop(void)
109 evas_event_feed_mouse_move(evas, ev.xmotion.x, ev.xmotion.y, 0, NULL); 112 evas_event_feed_mouse_move(evas, ev.xmotion.x, ev.xmotion.y, 0, NULL);
110 break; 113 break;
111 case Expose: 114 case Expose:
115 first_expose = 1;
112 evas_damage_rectangle_add(evas, 116 evas_damage_rectangle_add(evas,
113 ev.xexpose.x, 117 ev.xexpose.x,
114 ev.xexpose.y, 118 ev.xexpose.y,