summaryrefslogtreecommitdiff
path: root/miext/rootless/rootlessWindow.c
diff options
context:
space:
mode:
authorJeremy Huddleston <jeremyhu@freedesktop.org>2008-08-29 20:55:25 -0700
committerJeremy Huddleston <jeremyhu@freedesktop.org>2008-08-29 20:55:25 -0700
commit8abcc12fdd5bd9edc0288a1ab8f75e65ffcb8c71 (patch)
tree6b29239ee5a72ee88200900dc7adce20163cde2a /miext/rootless/rootlessWindow.c
parentaee19c7b5542aa147b89b1ae8340e9931d81729f (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/rootless/rootlessWindow.c')
-rw-r--r--miext/rootless/rootlessWindow.c33
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;
}