diff options
author | mh0310.choi <mh0310.choi@samsung.com> | 2015-07-28 10:46:57 +0900 |
---|---|---|
committer | mh0310.choi <mh0310.choi@samsung.com> | 2015-07-28 13:08:12 +0900 |
commit | 5e67a6f721eaedda61300baf0799199c7771ebd0 (patch) | |
tree | 6cd50b52498aab50e79b966cdccc2a137db316d9 /src/cairo-xlib-surface-shm.c | |
parent | d3aeffba37161d2b76b29c4ea13369bd67a47a8e (diff) | |
download | cairo-5e67a6f721eaedda61300baf0799199c7771ebd0.tar.gz cairo-5e67a6f721eaedda61300baf0799199c7771ebd0.tar.bz2 cairo-5e67a6f721eaedda61300baf0799199c7771ebd0.zip |
Cairo version Upgrade for Tizen3.0submit/tizen_tv/20150728.091927submit/tizen_mobile/20150728.091912submit/tizen_common/20150728.091859accepted/tizen/tv/20150729.011254accepted/tizen/mobile/20150729.011230
- from 1.12.14 to 1.14.2
Change-Id: I3b62d212041b337bbb926d579f9ce74f42a45c3b
Diffstat (limited to 'src/cairo-xlib-surface-shm.c')
-rw-r--r--[-rwxr-xr-x] | src/cairo-xlib-surface-shm.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/cairo-xlib-surface-shm.c b/src/cairo-xlib-surface-shm.c index fa7d3eb9b..9b4dea5e5 100755..100644 --- a/src/cairo-xlib-surface-shm.c +++ b/src/cairo-xlib-surface-shm.c @@ -453,7 +453,7 @@ static void send_event(cairo_xlib_display_t *display, display->shm->last_event = ev.serial; } -static void sync (cairo_xlib_display_t *display) +static void _cairo_xlib_display_sync (cairo_xlib_display_t *display) { cairo_xlib_shm_info_t *info; struct pqueue *pq = &display->shm->info; @@ -670,6 +670,7 @@ _cairo_xlib_shm_surface_flush (void *abstract_surface, unsigned flags) cairo_xlib_shm_surface_t *shm = abstract_surface; cairo_xlib_display_t *display; Display *dpy; + _XQEvent *qev; cairo_status_t status; if (shm->active == 0) @@ -694,6 +695,10 @@ _cairo_xlib_shm_surface_flush (void *abstract_surface, unsigned flags) while (! seqno_passed (shm->active, LastKnownRequestProcessed (dpy))) { LockDisplay(dpy); _XReadEvents(dpy); + while (dpy->head) { + qev = dpy->head; + _XDeq (dpy, NULL, qev); + } UnlockDisplay(dpy); } @@ -893,7 +898,7 @@ _cairo_xlib_surface_update_shm (cairo_xlib_surface_t *surface) } if (damage->region) { - XRectangle stack_rects[CAIRO_STACK_ARRAY_LENGTH (sizeof (XRectangle))]; + XRectangle stack_rects[CAIRO_STACK_ARRAY_LENGTH (XRectangle)]; XRectangle *rects = stack_rects; cairo_rectangle_int_t r; int n_rects, i; @@ -949,7 +954,7 @@ _cairo_xlib_surface_update_shm (cairo_xlib_surface_t *surface) XChangeGC (display->display, gc, GCSubwindowMode, &gcv); } - sync (display); + _cairo_xlib_display_sync (display); shm->active = 0; shm->idle--; @@ -1081,7 +1086,7 @@ _cairo_xlib_surface_put_shm (cairo_xlib_surface_t *surface) TRACE ((stderr, "%s: flushing damage x %d\n", __FUNCTION__, damage->region ? cairo_region_num_rectangles (damage->region) : 0)); if (damage->status == CAIRO_STATUS_SUCCESS && damage->region) { - XRectangle stack_rects[CAIRO_STACK_ARRAY_LENGTH (sizeof (XRectangle))]; + XRectangle stack_rects[CAIRO_STACK_ARRAY_LENGTH (XRectangle)]; XRectangle *rects = stack_rects; cairo_rectangle_int_t r; int n_rects, i; |