On Tue, Feb 17, 2009 at 02:11:28PM +0000, Edd Barrett wrote:
> Hi,
> 
> On Tue, Feb 17, 2009 at 01:58:16PM +0000, Stuart Henderson wrote:
> > I won't change wm just to test this, but I ran "wmsystray -nowm"
> > and started pidgin, both segfaulted right away.
> > 
> 
> Hahahahahaha. What arch you on?
> 
> -- 
> 
> Best Regards
> 
> Edd Barrett
> (Freelance software developer / technical writer / open-source developer)
> 
> http://students.dec.bmth.ac.uk/ebarrett
> 

This is a diff for the aforementioned problems.
Btw, we already have x11/peksystray which offers the same functionalities 
as wmsystray.

ciao,
david


diff -Naur wmsystray.orig/patches/patch-wmsystray_systray_c 
wmsystray/patches/patch-wmsystray_systray_c
--- wmsystray.orig/patches/patch-wmsystray_systray_c    Thu Jan  1 01:00:00 1970
+++ wmsystray/patches/patch-wmsystray_systray_c Tue Feb 17 16:54:18 2009
@@ -0,0 +1,12 @@
+$OpenBSD$
+--- wmsystray/systray.c.orig   Tue Feb 17 16:52:50 2009
++++ wmsystray/systray.c        Tue Feb 17 16:53:34 2009
+@@ -338,7 +338,7 @@ int handle_dock_request (Window embed_wind) {
+               XReparentWindow (main_disp, embed_wind,
+                               DefaultRootWindow(main_disp), 0, 0);
+               TRACE((stderr, "REJECTED!\n"));
+-              return;
++              return -1;
+       }
+ 
+       XSelectInput (main_disp, embed_wind, StructureNotifyMask |
diff -Naur wmsystray.orig/patches/patch-wmsystray_ui_c 
wmsystray/patches/patch-wmsystray_ui_c
--- wmsystray.orig/patches/patch-wmsystray_ui_c Thu Jan  1 01:00:00 1970
+++ wmsystray/patches/patch-wmsystray_ui_c      Tue Feb 17 16:50:11 2009
@@ -0,0 +1,30 @@
+$OpenBSD$
+--- wmsystray/ui.c.orig        Tue Feb 17 16:46:15 2009
++++ wmsystray/ui.c     Tue Feb 17 16:48:14 2009
+@@ -9,6 +9,7 @@
+  
******************************************************************************/
+ 
+ #include <stdlib.h>
++#include <unistd.h>
+ #include <signal.h>
+ 
+ #include <X11/Xlib.h>
+@@ -31,9 +32,7 @@ char *bg_data;
+ 
+ int wmaker = 1;
+ int loop_program = 1;
+-static GC main_gc;
+ 
+-
+ XRectangle active_area = {
+       .x = 8, .y = 4, .width = 48, .height = 48
+ };
+@@ -270,8 +269,6 @@ void wmsystray_handle_signal (int signum) {
+ void wmsystray_event_loop() {
+       XEvent ev;
+       XWindowAttributes attrib;
+-      Window cover;
+-      struct list_head *n;
+       struct systray_item *item;
+ 
+       while (loop_program) {
diff -Naur wmsystray.orig/patches/patch-wmsystray_ui_h 
wmsystray/patches/patch-wmsystray_ui_h
--- wmsystray.orig/patches/patch-wmsystray_ui_h Thu Jan  1 01:00:00 1970
+++ wmsystray/patches/patch-wmsystray_ui_h      Tue Feb 17 16:50:49 2009
@@ -0,0 +1,19 @@
+$OpenBSD$
+--- wmsystray/ui.h.orig        Tue Feb 17 16:43:41 2009
++++ wmsystray/ui.h     Tue Feb 17 16:47:31 2009
+@@ -15,6 +15,7 @@
+ extern int wmaker;
+ 
+ int init_ui(char *app_name, int argc, char **argv);
++void draw_ui_elements();
+ void cleanup_ui();
+ void wmsystray_handle_signal (int signum);
+ void wmsystray_event_loop();
+@@ -24,5 +25,7 @@ extern char *geometry_string;
+ extern Display *main_disp;
+ extern Window main_wind, icon_wind, sel_wind, draw_wind;
+ extern char * wmsystray_xpm[];
++extern struct systray_item *find_systray_item (Window id);
++extern int systray_property_update (struct systray_item *item);
+ 
+ #endif
diff -Naur wmsystray.orig/patches/patch-xembed_xembed_c 
wmsystray/patches/patch-xembed_xembed_c
--- wmsystray.orig/patches/patch-xembed_xembed_c        Thu Jan  1 01:00:00 1970
+++ wmsystray/patches/patch-xembed_xembed_c     Tue Feb 17 16:50:11 2009
@@ -0,0 +1,20 @@
+$OpenBSD$
+--- xembed/xembed.c.orig       Tue Feb 17 16:36:48 2009
++++ xembed/xembed.c    Tue Feb 17 16:37:40 2009
+@@ -2,6 +2,7 @@
+  xembed.c
+  ****************************************************************************/
+ 
++#include <string.h>
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+ #include "xembed.h"
+@@ -103,8 +104,6 @@ int xembed_get_info (Display *disp, Window wind, struc
+       Atom embed_info_atom, type;
+       int format, status;
+       unsigned long nitems, bytes_after;
+-      unsigned long einfo[2];
+-      unsigned long version, flags;
+       unsigned char *data;
+       unsigned long *data_long;
+ 

Reply via email to