diff options
author | Jeremy Huddleston <jeremyhu@freedesktop.org> | 2008-08-29 20:55:25 -0700 |
---|---|---|
committer | Jeremy Huddleston <jeremyhu@freedesktop.org> | 2008-08-29 20:55:25 -0700 |
commit | 8abcc12fdd5bd9edc0288a1ab8f75e65ffcb8c71 (patch) | |
tree | 6b29239ee5a72ee88200900dc7adce20163cde2a /miext | |
parent | aee19c7b5542aa147b89b1ae8340e9931d81729f (diff) |
XQuartz: Added debugging output to the crash log to help track down two crashes, since people don't often report their system.log spew.
(cherry picked from commit aaf0f71db197526b6b866cc1b39fbdfe051879ef)
Diffstat (limited to 'miext')
-rw-r--r-- | miext/rootless/rootlessWindow.c | 33 |
1 files changed, 31 insertions, 2 deletions
diff --git a/miext/rootless/rootlessWindow.c b/miext/rootless/rootlessWindow.c index d863e3995..f9ae0ead1 100644 --- a/miext/rootless/rootlessWindow.c +++ b/miext/rootless/rootlessWindow.c @@ -131,16 +131,45 @@ RootlessNativeWindowStateChanged (WindowPtr pWin, unsigned int state) pWin->rootlessUnhittable = winRec->is_offscreen; } +#ifdef XQUARTZ +#include <string.h> +extern char *__crashreporter_info__; +extern const char *__crashreporter_info__base; +extern int __crashreporter_info__len; +#endif + void RootlessNativeWindowMoved (WindowPtr pWin) { xp_box bounds; int sx, sy, err; XID vlist[2]; Mask mask; ClientPtr client, pClient; - RootlessWindowRec *winRec = WINREC(pWin); + RootlessWindowRec *winRec; + +#ifdef XQUARTZ + /* We're seeing a crash here, but I'm not sure what's causing it... so putting in some debugging */ + snprintf(__crashreporter_info__, __crashreporter_info__len, + "%s\n\RootlessNativeWindowMoved debug data\npWin=%p\n", + __crashreporter_info__base, pWin); + ErrorF("RootlessNativeWindowMoved debug data\npWin=%p\n", pWin); +#endif + + winRec = WINREC(pWin); + +#ifdef XQUARTZ + /* We're seeing a crash here, but I'm not sure what's causing it... so putting in some debugging */ + snprintf(__crashreporter_info__, __crashreporter_info__len, "%swinRec=%p\nwinRec->wid=%d\n", __crashreporter_info__, winRec, winRec ? (int)winRec->wid : 0); + ErrorF("winRec=%p\nwinRec->wid=%d\n", winRec, winRec ? (int)winRec->wid : 0); +#endif if (xp_get_window_bounds ((xp_window_id)winRec->wid, &bounds) != Success) return; +#ifdef XQUARTZ + /* We're seeing a crash here, but I'm not sure what's causing it... so putting in some debugging */ + snprintf(__crashreporter_info__, __crashreporter_info__len, "%spWin->drawable.pScreen=%p\npWin->drawable.pScreen->myNum=%d\n", __crashreporter_info__, pWin->drawable.pScreen, pWin->drawable.pScreen ? pWin->drawable.pScreen->myNum : 0); + ErrorF("pWin->drawable.pScreen=%p\npWin->drawable.pScreen->myNum=%d\n", pWin->drawable.pScreen, pWin->drawable.pScreen ? pWin->drawable.pScreen->myNum : 0); +#endif + sx = dixScreenOrigins[pWin->drawable.pScreen->myNum].x + darwinMainScreenX; sy = dixScreenOrigins[pWin->drawable.pScreen->myNum].y + darwinMainScreenY; @@ -153,7 +182,7 @@ void RootlessNativeWindowMoved (WindowPtr pWin) { /* pretend we're the owner of the window! */ err = dixLookupClient(&pClient, pWin->drawable.id, NullClient, DixUnknownAccess); if(err != Success) { - ErrorF("RootlessNativeWindowMoved(): Failed to lookup window: 0x%x\n", pWin->drawable.id); + ErrorF("RootlessNativeWindowMoved(): Failed to lookup window: 0x%x\n", (unsigned int)pWin->drawable.id); return; } |