summaryrefslogtreecommitdiff
path: root/x11-wm
diff options
context:
space:
mode:
authorDoug Barton <dougb@FreeBSD.org>2005-03-28 09:13:21 +0000
committerDoug Barton <dougb@FreeBSD.org>2005-03-28 09:13:21 +0000
commit862f6c87111449c6d3d5752dfd6e242516cab60e (patch)
tree48c540f753ef325cf2e5b6b91b83b9e350431fe3 /x11-wm
parent- fix pkg-plist (diff)
Patch to fix a debilitating problem for amd64 users. To quote Scott:
"While it compiles and seems to start fine, it will crash if you start any GTK-based program, including Firefox and Mozilla ... GTK populates the NET_WM_ICON X11 property with incorrectly padded data, and WindowMaker blindly reads it out and winds up passing garbage to some X libraries, which in turn abort the entire process ... Fortunately, handling this X11 property is not mandatory as there are other more reliable ways to pass icon state through X (and in fact very very few other window managers even try this), so it's safe to avoid the whole mess by stubbing it out and letting Windowmaker fall back to a more reliable method." I've tested this patch with i386 windowmaker, and haven't noticed any differences. I have xterms and various other things doing fancy stuff with window and icon titles, so I'm pretty confident that this will be safe for users of all ARCH's. It's also possible that it will help those users who were having weird QT problems, but I was not able to reproduce that problem so I can't say for sure. Submitted by: scottl Approved by: portmgr (krion)
Notes
Notes: svn path=/head/; revision=132096
Diffstat (limited to 'x11-wm')
-rw-r--r--x11-wm/windowmaker/files/patch-net_wm_icon11
1 files changed, 11 insertions, 0 deletions
diff --git a/x11-wm/windowmaker/files/patch-net_wm_icon b/x11-wm/windowmaker/files/patch-net_wm_icon
new file mode 100644
index 000000000000..df1b252cc2d8
--- /dev/null
+++ b/x11-wm/windowmaker/files/patch-net_wm_icon
@@ -0,0 +1,11 @@
+--- src/wmspec.c.old Sun Mar 27 19:42:28 2005
++++ src/wmspec.c Sun Mar 27 19:43:56 2005
+@@ -381,7 +381,7 @@
+ XA_CARDINAL, &actual_type_return, &actual_format_return,
+ &nitems_return, &bytes_after_return, &prop_return);
+
+- if (rc==Success && prop_return) {
++ if (0 && rc==Success && prop_return) {
+ unsigned int *data = (unsigned int *)prop_return;
+ unsigned int pos = 0, len = 0;
+ unsigned int best_pos = 0, best_tmp = ~0;