XGetWindowProperty() can report success but still give you a NULL pointer.
authorRyan C. Gordon <icculus@icculus.org>
Sat, 22 Oct 2011 02:13:35 -0400
changeset 6023 6279958d571d
parent 6022 e0327dd7d0c0
child 6024 38e2f4644548
XGetWindowProperty() can report success but still give you a NULL pointer. Thanks to Joseph Toppi for the fix!
src/video/x11/SDL_x11window.c
--- a/src/video/x11/SDL_x11window.c	Mon Oct 24 11:38:52 2011 -0400
+++ b/src/video/x11/SDL_x11window.c	Sat Oct 22 02:13:35 2011 -0400
@@ -593,14 +593,14 @@
     status = XGetWindowProperty(display, xwindow, data->_NET_WM_NAME,
                 0L, 8192L, False, data->UTF8_STRING, &real_type, &real_format,
                 &items_read, &items_left, &propdata);
-    if (status == Success) {
+    if (status == Success && propdata) {
         title = SDL_strdup(SDL_static_cast(char*, propdata));
         XFree(propdata);
     } else {
         status = XGetWindowProperty(display, xwindow, XA_WM_NAME,
                     0L, 8192L, False, XA_STRING, &real_type, &real_format,
                     &items_read, &items_left, &propdata);
-        if (status == Success) {
+        if (status == Success && propdata) {
             title = SDL_iconv_string("UTF-8", "", SDL_static_cast(char*, propdata), items_read+1);
         } else {
             title = SDL_strdup("");