diff options
author | dougb <dougb@FreeBSD.org> | 2008-12-31 18:01:26 +0800 |
---|---|---|
committer | dougb <dougb@FreeBSD.org> | 2008-12-31 18:01:26 +0800 |
commit | 19077e1f78e63a1b3f77e4edee07d2c04f2cbed6 (patch) | |
tree | 0b745ea9713a47aaa1ad6f36ca0b992b872a8c7f /x11-wm/windowmaker/files | |
parent | 91cf9ea829f11edd53fe0e8386ca7b0fae1504d9 (diff) | |
download | freebsd-ports-gnome-19077e1f78e63a1b3f77e4edee07d2c04f2cbed6.tar.gz freebsd-ports-gnome-19077e1f78e63a1b3f77e4edee07d2c04f2cbed6.tar.zst freebsd-ports-gnome-19077e1f78e63a1b3f77e4edee07d2c04f2cbed6.zip |
On amd64 clicking the WPrefs.app can cause a crash.
Fix obtained partly from the PR and partly from the Debian RPM. The wmspec.c
fix was confirmed in the latest version of windowmaker in their repo.
PR: ports/120284
Submitted by: Hiromi Kimura <hiromi@tac.tsukuba.ac.jp>
Diffstat (limited to 'x11-wm/windowmaker/files')
-rw-r--r-- | x11-wm/windowmaker/files/patch-WINGs_wwindow.c | 19 | ||||
-rw-r--r-- | x11-wm/windowmaker/files/patch-src_wmspec.c | 54 |
2 files changed, 63 insertions, 10 deletions
diff --git a/x11-wm/windowmaker/files/patch-WINGs_wwindow.c b/x11-wm/windowmaker/files/patch-WINGs_wwindow.c new file mode 100644 index 000000000000..acd6bec412b8 --- /dev/null +++ b/x11-wm/windowmaker/files/patch-WINGs_wwindow.c @@ -0,0 +1,19 @@ +--- WINGs/wwindow.c ++++ WINGs/wwindow.c +@@ -254,14 +254,14 @@ + setMiniwindow(WMWindow *win, RImage *image) + { + WMScreen *scr= win->view->screen; +- CARD32 *data; ++ long *data; + int x, y; + int o; + + if (!image) + return; + +- data = wmalloc((image->width * image->height + 2) * sizeof(CARD32)); ++ data = wmalloc((image->width * image->height + 2) * sizeof(long)); + + o= 0; + data[o++] = image->width; diff --git a/x11-wm/windowmaker/files/patch-src_wmspec.c b/x11-wm/windowmaker/files/patch-src_wmspec.c index 626630e5e1ac..3b8b2fd3f6e5 100644 --- a/x11-wm/windowmaker/files/patch-src_wmspec.c +++ b/x11-wm/windowmaker/files/patch-src_wmspec.c @@ -1,6 +1,6 @@ ---- src/wmspec.c.sav 2004-10-24 21:36:15.000000000 +0200 -+++ src/wmspec.c 2005-01-26 17:13:54.266216856 +0100 -@@ -314,15 +314,15 @@ +--- src/wmspec.c.sav 2005-05-15 09:41:09.000000000 -0700 ++++ src/wmspec.c 2008-12-31 01:47:07.000000000 -0800 +@@ -322,15 +322,15 @@ void wNETWMUpdateDesktop(WScreen *scr) { @@ -19,7 +19,7 @@ #ifdef VIRTUAL_DESKTOP sizes[0] = scr->workspaces[scr->current_workspace]->width; -@@ -362,7 +362,7 @@ +@@ -370,7 +370,7 @@ 0, 1, &count); if (prop) { @@ -28,7 +28,41 @@ XFree(prop); return desktop; } -@@ -426,7 +426,7 @@ +@@ -389,12 +389,12 @@ + * + * The logic can also be changed to accept bigger images and scale them down. + */ +-static CARD32* +-findBestIcon(CARD32 *data, unsigned long items) ++static unsigned long* ++findBestIcon(unsigned long *data, unsigned long items) + { + int size, wanted, d, distance; + unsigned long i; +- CARD32 *icon; ++ unsigned long *icon; + + /* better use only 75% of icon_size. For 64x64 this means 48x48 + * This leaves room around the icon for the miniwindow title and +@@ -418,7 +418,7 @@ + + + static RImage* +-makeRImageFromARGBData(CARD32 *data) ++makeRImageFromARGBData(unsigned long *data) + { + int size, width, height, i; + RImage *image; +@@ -449,7 +449,7 @@ + static void + updateIconImage(WScreen *scr, WWindow *wwin) + { +- CARD32 *property, *data; ++ unsigned long *property, *data; + unsigned long items, rest; + Atom type; + int format; +@@ -487,7 +487,7 @@ static void updateShowDesktop(WScreen * scr, Bool show) { @@ -37,7 +71,7 @@ foo = (show == True); XChangeProperty(dpy, scr->root_win, net_showing_desktop, XA_CARDINAL, 32, -@@ -599,7 +599,7 @@ +@@ -660,7 +660,7 @@ void wNETWMUpdateWorkarea(WScreen *scr, WArea usableArea) { @@ -46,7 +80,7 @@ int count, i; /* XXX: not Xinerama compatible, -@@ -609,7 +609,7 @@ +@@ -670,7 +670,7 @@ return; count = scr->workspace_count * 4; @@ -55,7 +89,7 @@ for (i=0; i<scr->workspace_count; i++) { area[4*i + 0] = usableArea.x1; area[4*i + 1] = usableArea.y1; -@@ -732,7 +732,7 @@ +@@ -793,7 +793,7 @@ static void updateWorkspaceCount(WScreen *scr) /* changeable */ { @@ -64,7 +98,7 @@ count = scr->workspace_count; -@@ -744,7 +744,7 @@ +@@ -805,7 +805,7 @@ static void updateCurrentWorkspace(WScreen *scr) /* changeable */ { @@ -73,7 +107,7 @@ count = scr->current_workspace; -@@ -791,7 +791,7 @@ +@@ -852,7 +852,7 @@ static void updateWorkspaceHint(WWindow *wwin, Bool fake, Bool del) { |