diff --git a/xc284-fix-scrollbfdleak.diff b/xc284-fix-scrollbfdleak.diff new file mode 100644 index 0000000..a5dbf2a --- /dev/null +++ b/xc284-fix-scrollbfdleak.diff @@ -0,0 +1,14 @@ +# +# Scrollback shrinking code forgets to close(). +# +--- xchat-2.8.4/src/common/text.c 2007-06-13 19:59:56.000000000 +1000 ++++ xchat-2.8.4p1/src/common/text.c 2007-11-02 23:52:57.000000000 +1100 +@@ -141,6 +146,7 @@ + } + + *len = st.st_size; ++ close (fh); + return buf; + } + + diff --git a/xchat-2.8.4-redhat-desktop.patch b/xchat-2.8.4-redhat-desktop.patch index deb355e..4187ede 100644 --- a/xchat-2.8.4-redhat-desktop.patch +++ b/xchat-2.8.4-redhat-desktop.patch @@ -22,7 +22,8 @@ diff -ur xchat-2.8.4/xchat.desktop xchat-2.8.4-redhat-desktop/xchat.desktop +Name=IRC +Comment=X-Chat Exec=xchat - Icon=xchat.png +-Icon=xchat.png ++Icon=xchat Terminal=false Type=Application -Categories=Application;Network; diff --git a/xchat-2.8.4-shm-pixmaps.patch b/xchat-2.8.4-shm-pixmaps.patch new file mode 100644 index 0000000..ae2ff1f --- /dev/null +++ b/xchat-2.8.4-shm-pixmaps.patch @@ -0,0 +1,56 @@ +diff -up xchat-2.8.4/src/fe-gtk/xtext.c.jx xchat-2.8.4/src/fe-gtk/xtext.c +--- xchat-2.8.4/src/fe-gtk/xtext.c.jx 2007-06-08 05:57:07.000000000 -0400 ++++ xchat-2.8.4/src/fe-gtk/xtext.c 2007-12-20 17:12:52.000000000 -0500 +@@ -3537,6 +3537,22 @@ get_image (GtkXText *xtext, Display *xdi + + #endif + ++#ifdef USE_SHM ++static int ++have_shm_pixmaps(Display *dpy) ++{ ++ static int checked = 0, major, minor; ++ Bool have = FALSE; ++ ++ if (!checked) { ++ XShmQueryVersion(dpy, &major, &minor, &have); ++ checked = 1; ++ } ++ ++ return have; ++} ++#endif ++ + static GdkPixmap * + shade_pixmap (GtkXText * xtext, Pixmap p, int x, int y, int w, int h) + { +@@ -3549,6 +3565,11 @@ shade_pixmap (GtkXText * xtext, Pixmap p + GC tgc; + Display *xdisplay = GDK_WINDOW_XDISPLAY (xtext->draw_buf); + ++#ifdef USE_SHM ++ int shm_pixmaps; ++ shm_pixmaps = have_shm_pixmaps(xdisplay); ++#endif ++ + XGetGeometry (xdisplay, p, &root, &dummy, &dummy, &width, &height, + &dummy, &depth); + +@@ -3602,7 +3623,7 @@ shade_pixmap (GtkXText * xtext, Pixmap p + else + { + #ifdef USE_SHM +- if (xtext->shm) ++ if (xtext->shm && shm_pixmaps) + { + #if (GTK_MAJOR_VERSION == 2) && (GTK_MINOR_VERSION == 0) + shaded_pix = gdk_pixmap_foreign_new ( +@@ -3620,7 +3641,7 @@ shade_pixmap (GtkXText * xtext, Pixmap p + } + + #ifdef USE_SHM +- if (!xtext->shm) ++ if (!xtext->shm || !shm_pixmaps) + #endif + XPutImage (xdisplay, GDK_WINDOW_XWINDOW (shaded_pix), + GDK_GC_XGC (xtext->fgc), ximg, 0, 0, 0, 0, w, h); diff --git a/xchat.spec b/xchat.spec index 371f44a..5106dd8 100644 --- a/xchat.spec +++ b/xchat.spec @@ -3,7 +3,7 @@ Summary: A popular and easy to use graphical IRC (chat) client Name: xchat Version: 2.8.4 -Release: 6%{?dist} +Release: 10%{?dist} Epoch: 1 Group: Applications/Internet License: GPLv2+ @@ -18,12 +18,15 @@ Patch0: xc284-scrollbmkdir.diff # 2) Puts a "Display scrollback from previous session" into the Setup GUI # (logging section) so people can turn this off without typing commands. Patch1: xc284-improvescrollback.diff +# Scrollback shrinking code forgets to close(). +Patch2: xc284-fix-scrollbfdleak.diff Patch10: xchat-2.8.4-redhat-desktop.patch Patch12: xchat-1.8.7-use-sysconf-to-detect-cpus.patch Patch19: xchat-2.0.2-freenode.patch # see #241923 Patch35: xchat-2.8.4-disable-tray-icon-by-default.patch +Patch40: xchat-2.8.4-shm-pixmaps.patch BuildRequires: perl perl(ExtUtils::Embed) python-devel openssl-devel pkgconfig, tcl-devel BuildRequires: GConf2-devel @@ -64,11 +67,13 @@ This package contains the X-Chat plugin providing the Tcl scripting interface. %setup -q %patch0 -p1 %patch1 -p1 +%patch2 -p1 %patch10 -p1 -b .desktop-file %patch12 -p0 -b .use-sysconf-to-detect-cpus %patch19 -p0 -b .freenode %patch35 -p1 -b .tray-icon +%patch40 -p1 -b .shm-pixmaps %build # Remove CVS files from source dirs so they're not installed into doc dirs. @@ -157,6 +162,20 @@ fi %{_libdir}/xchat/plugins/tcl.so %changelog +* Thu Jan 3 2008 Christopher Aillon 1:2.8.4-10 +- Rebuild + +* Thu Dec 20 2007 Adam Jackson 1:2.8.4-9 +- xchat-2.8.4-shm-pixmaps.patch: MIT-SHM pixmaps are optional, and when + using EXA they are not available. Check that the server supports them + before trying to create them so we don't crash. + +* Wed Dec 19 2007 Kevin Kofler - 1:2.8.4-8 +- apply xc284-fix-scrollbfdleak.diff from upstream + +* Wed Dec 5 2007 Christopher Aillon - 1:2.8.4-7 +- Fix the icon key in the .desktop file to validate + * Sat Oct 13 2007 Kevin Kofler - 1:2.8.4-6 - drop obsolete xchat-2.4.4-unrealize.patch (fixed upstream for a while) - drop broken xchat-2.4.3-im_context_filter_keypress.patch (#295331)