diff --git a/src/utils/unix/SkOSWindow_Unix.cpp b/src/utils/unix/SkOSWindow_Unix.cpp index 652a1ae6d1..2e4ae88212 100644 --- a/src/utils/unix/SkOSWindow_Unix.cpp +++ b/src/utils/unix/SkOSWindow_Unix.cpp @@ -84,6 +84,7 @@ void SkOSWindow::post_linuxevent() event.data.l[0] = 0; XSendEvent(fUnixWindow.fDisplay, fUnixWindow.fWin, false, 0, (XEvent*) &event); + XFlush(fUnixWindow.fDisplay); } void SkOSWindow::loop() diff --git a/unix_test_app/main.cpp b/unix_test_app/main.cpp index ec61546659..5be93bc479 100644 --- a/unix_test_app/main.cpp +++ b/unix_test_app/main.cpp @@ -6,21 +6,18 @@ #include "SkWindow.h" #include "SkTypes.h" -//#include -//#include +#include +#include SkOSWindow* gWindow; -#if 0 static void catch_alarm(int sig) { - SkDebugf("caught alarm; calling ServiceQueueTimer\n"); SkEvent::ServiceQueueTimer(); } -#endif int main(){ -// signal(SIGALRM, catch_alarm); + signal(SIGALRM, catch_alarm); gWindow = create_sk_window(NULL); // Start normal Skia sequence @@ -44,13 +41,11 @@ void SkEvent::SignalNonEmptyQueue() void SkEvent::SignalQueueTimer(SkMSec delay) { -#if 0 itimerval newTimer; newTimer.it_interval.tv_sec = 0; newTimer.it_interval.tv_usec = 0; newTimer.it_value.tv_sec = 0; newTimer.it_value.tv_usec = delay * 1000; - int success = setitimer(ITIMER_REAL, NULL, &newTimer); - SkDebugf("SignalQueueTimer(%i)\nreturnval = %i\n", delay, success); -#endif + + setitimer(ITIMER_REAL, &newTimer, NULL); }