aboutsummaryrefslogtreecommitdiff
path: root/x11-wm/windowmaker
diff options
context:
space:
mode:
authorDoug Barton <dougb@FreeBSD.org>2008-12-31 10:01:26 +0000
committerDoug Barton <dougb@FreeBSD.org>2008-12-31 10:01:26 +0000
commitc4988264d4e9e808b654337e65a7b0340c5b2f7b (patch)
tree598d3075a97b61217c937aafd4767239657d0a97 /x11-wm/windowmaker
parent01c813f0c74e26af1cedcb04fcb687d49a178c9f (diff)
downloadports-c4988264d4e9e808b654337e65a7b0340c5b2f7b.tar.gz
ports-c4988264d4e9e808b654337e65a7b0340c5b2f7b.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>
Notes
Notes: svn path=/head/; revision=225048
Diffstat (limited to 'x11-wm/windowmaker')
-rw-r--r--x11-wm/windowmaker/files/patch-WINGs_wwindow.c19
-rw-r--r--x11-wm/windowmaker/files/patch-src_wmspec.c54
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)
{