From d140b77b8cf48e4ee783c4a703d7a2fc465ec24c Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Thu, 24 Jul 2008 20:33:38 +0000 Subject: [PATCH] Replaced 101_ignore-missing-keys.diff and 102_ignore-bad-match.diff with patches from ion-3plus repository --- debian/changelog | 7 +++ debian/patches/101_ignore-mising-keys.diff | 64 ++++++++++++++++++++-- debian/patches/102_ignore-bad-match.diff | 21 ++++--- 3 files changed, 80 insertions(+), 12 deletions(-) diff --git a/debian/changelog b/debian/changelog index c9f8765..8c54ef4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +ion3 (20080707-3) unstable; urgency=low + + * Replaced 101_ignore-missing-keys.diff and 102_ignore-bad-match.diff + with patches from upstream repository (ion-3plus) + + -- Ben Hutchings Thu, 24 Jul 2008 21:30:19 +0100 + ion3 (20080707-2) unstable; urgency=low * Suppressed warnings for missing keys (101_ignore-missing-keys.diff) diff --git a/debian/patches/101_ignore-mising-keys.diff b/debian/patches/101_ignore-mising-keys.diff index 3e90949..3f59ea5 100644 --- a/debian/patches/101_ignore-mising-keys.diff +++ b/debian/patches/101_ignore-mising-keys.diff @@ -1,11 +1,67 @@ ---- ion3.orig/ioncore/conf-bindings.c -+++ ion3/ioncore/conf-bindings.c -@@ -94,7 +94,7 @@ +Wed Jul 23 18:30:48 BST 2008 Tuomo Valkonen + * Do not log complaints about keysym to keycode conversion failure. +diff -rN -u old-ion-3plus/ioncore/conf-bindings.c new-ion-3plus/ioncore/conf-bindings.c +--- old-ion-3plus/ioncore/conf-bindings.c 2008-07-24 21:29:07.000000000 +0100 ++++ new-ion-3plus/ioncore/conf-bindings.c 2008-07-24 21:29:07.000000000 +0100 +@@ -20,6 +20,7 @@ + #include + #include "conf-bindings.h" + #include "bindmaps.h" ++#include "ioncore.h" + + + /*{{{ parse_keybut */ +@@ -94,7 +95,8 @@ break; } if(XKeysymToKeycode(ioncore_g.dpy, keysym)==0){ - warn_obj(str, TR("Could not convert keysym to keycode.")); -+ /* It is not an error for a keymap to lack some keys */ ++ ioncore_warn_nolog("%s: %s", str, ++ TR("Could not convert keysym to keycode.")); break; } *ksb_ret=keysym; +diff -rN -u old-ion-3plus/ioncore/ioncore.c new-ion-3plus/ioncore/ioncore.c +--- old-ion-3plus/ioncore/ioncore.c 2008-07-24 21:29:07.000000000 +0100 ++++ new-ion-3plus/ioncore/ioncore.c 2008-07-24 21:29:07.000000000 +0100 +@@ -22,6 +22,7 @@ + #ifndef CF_NO_GETTEXT + #include + #endif ++#include + + #include + #include +@@ -99,12 +100,17 @@ + /*{{{ warn_nolog */ + + +-void ioncore_warn_nolog(const char *str) ++void ioncore_warn_nolog(const char *str, ...) + { +- fprintf(stderr, "%s: %s\n", libtu_progname(), str); ++ va_list args; ++ ++ va_start(args, str); ++ fprintf(stderr, "%s: ", libtu_progname()); ++ vfprintf(stderr, str, args); ++ fprintf(stderr, "\n"); ++ va_end(args); + } + +- + /*}}}*/ + + +diff -rN -u old-ion-3plus/ioncore/ioncore.h new-ion-3plus/ioncore/ioncore.h +--- old-ion-3plus/ioncore/ioncore.h 2008-07-24 21:29:07.000000000 +0100 ++++ new-ion-3plus/ioncore/ioncore.h 2008-07-24 21:29:07.000000000 +0100 +@@ -28,6 +28,6 @@ + extern WHook *ioncore_snapshot_hook; + extern WHook *ioncore_deinit_hook; + +-extern void ioncore_warn_nolog(const char *str); ++extern void ioncore_warn_nolog(const char *str, ...); + + #endif /* ION_IONCORE_IONCORE_H */ + diff --git a/debian/patches/102_ignore-bad-match.diff b/debian/patches/102_ignore-bad-match.diff index 4a60cad..7c2a55f 100644 --- a/debian/patches/102_ignore-bad-match.diff +++ b/debian/patches/102_ignore-bad-match.diff @@ -1,16 +1,21 @@ ---- ion3.orig/ioncore/rootwin.c -+++ ion3/ioncore/rootwin.c -@@ -58,10 +58,11 @@ - static char msg[128], request[64], num[32]; +Wed Jul 23 17:54:17 BST 2008 Tuomo Valkonen + * More BadMatch ignore +diff -rN -u old-ion-3plus/ioncore/rootwin.c new-ion-3plus/ioncore/rootwin.c +--- old-ion-3plus/ioncore/rootwin.c 2008-07-24 21:28:52.000000000 +0100 ++++ new-ion-3plus/ioncore/rootwin.c 2008-07-24 21:28:52.000000000 +0100 +@@ -59,9 +59,13 @@ /* Just ignore bad window and similar errors; makes the rest of -- * the code simpler. -+ * the code simpler. Due to a Xorg bug, window lookups may fail -+ * with BadMatch instead of BadWindow. + * the code simpler. ++ * ++ * Apparently XGetWindowProperty can return BadMatch on a race ++ * condition where the server is already reusing the XID for a ++ * non-window drawable, so let's just ignore BadMatch entirely... */ if((ev->error_code==BadWindow || - (ev->error_code==BadMatch && ev->request_code==X_SetInputFocus) || -+ ev->error_code==BadMatch || ++ (ev->error_code==BadMatch /*&& ev->request_code==X_SetInputFocus*/) || (ev->error_code==BadDrawable && ev->request_code==X_GetGeometry)) && ignore_badwindow) return 0; + -- 2.39.2