File xdaliclock-2.30-strict_aliasing.patch of Package xdaliclock

Index: X11/overlay.c
===================================================================
--- X11/overlay.c.orig
+++ X11/overlay.c
@@ -65,7 +65,12 @@ get_overlay_prop (Screen *screen, struct
   Atom actual_type;
   int actual_format;
   unsigned long nitems, bytes_after;
-  struct overlay_data *data = 0;
+  
+  union {
+	  struct overlay_data *s_data;
+	  unsigned char *u_data;
+  } data = { NULL };
+  
   Display *dpy = DisplayOfScreen(screen);
   Window window = RootWindowOfScreen(screen);
   Atom XA_SERVER_OVERLAY_VISUALS =
@@ -77,19 +82,19 @@ get_overlay_prop (Screen *screen, struct
 			       XA_SERVER_OVERLAY_VISUALS,
 			       &actual_type, &actual_format,
 			       &nitems, &bytes_after,
-			       (unsigned char **) &data);
+			       &data.u_data);
   if (result != Success ||
       actual_type != XA_SERVER_OVERLAY_VISUALS ||
       actual_format != 32 ||
       nitems < 1)
     {
-      if (data) XFree(data);
+      if (data.s_data) XFree(data.s_data);
       return 0;
     }
   else
     {
-      *data_ret = data;
-      return nitems / (sizeof(*data) / sizeof(CARD32));
+      *data_ret = data.s_data;
+      return nitems / (sizeof(*data.s_data) / sizeof(CARD32));
     }
 }
 
openSUSE Build Service is sponsored by