diff options
author | marha <marha@users.sourceforge.net> | 2012-09-24 08:40:01 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2012-09-24 08:50:12 +0200 |
commit | c24a0fccb18e611b2879e68565ab8f1c5c5dbd62 (patch) | |
tree | 8b2070725227ae6c92ded43789f80347fabac306 /xorg-server/hw/xquartz/xpr/xprFrame.c | |
parent | 210f44f785e5b0da1bfe6ea68ad8f31c4ad2e282 (diff) | |
parent | 0ebcd32e91486caccc041c8ca23e39e160b24702 (diff) | |
download | vcxsrv-c24a0fccb18e611b2879e68565ab8f1c5c5dbd62.tar.gz vcxsrv-c24a0fccb18e611b2879e68565ab8f1c5c5dbd62.tar.bz2 vcxsrv-c24a0fccb18e611b2879e68565ab8f1c5c5dbd62.zip |
Merge remote-tracking branch 'origin/released'
* origin/released:
mesa pixman xserver git update 24 sep 2012
Conflicts:
pixman/pixman/pixman-sse2.c
xorg-server/dix/window.c
Diffstat (limited to 'xorg-server/hw/xquartz/xpr/xprFrame.c')
-rw-r--r-- | xorg-server/hw/xquartz/xpr/xprFrame.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/xorg-server/hw/xquartz/xpr/xprFrame.c b/xorg-server/hw/xquartz/xpr/xprFrame.c index 01f1def20..aad375b52 100644 --- a/xorg-server/hw/xquartz/xpr/xprFrame.c +++ b/xorg-server/hw/xquartz/xpr/xprFrame.c @@ -49,6 +49,10 @@ #include <pthread.h> #endif +#ifdef DEBUG_XP_LOCK_WINDOW +#include <execinfo.h> +#endif + #define DEFINE_ATOM_HELPER(func, atom_name) \ static Atom func(void) { \ static int generation; \ @@ -376,6 +380,18 @@ xprStartDrawing(RootlessFrameID wid, char **pixelData, int *bytesPerRow) unsigned int rowbytes[2]; xp_error err; +#ifdef DEBUG_XP_LOCK_WINDOW + void* callstack[128]; + int i, frames = backtrace(callstack, 128); + char** strs = backtrace_symbols(callstack, frames); + + ErrorF("=== LOCK %d ===\n", (int)x_cvt_vptr_to_uint(wid)); + for (i = 0; i < frames; ++i) { + ErrorF(" %s\n", strs[i]); + } + free(strs); +#endif + err = xp_lock_window(x_cvt_vptr_to_uint( wid), NULL, NULL, data, rowbytes, NULL); if (err != Success) @@ -395,6 +411,18 @@ xprStopDrawing(RootlessFrameID wid, Bool flush) { xp_error err; +#ifdef DEBUG_XP_LOCK_WINDOW + void* callstack[128]; + int i, frames = backtrace(callstack, 128); + char** strs = backtrace_symbols(callstack, frames); + + ErrorF("=== UNLOCK %d ===\n", (int)x_cvt_vptr_to_uint(wid)); + for (i = 0; i < frames; ++i) { + ErrorF(" %s\n", strs[i]); + } + free(strs); +#endif + err = xp_unlock_window(x_cvt_vptr_to_uint(wid), flush); /* This should be a FatalError, but we started tripping over it. Make it a * FatalError after http://xquartz.macosforge.org/trac/ticket/482 is fixed. |