diff options
Diffstat (limited to 'extra')
72 files changed, 0 insertions, 5943 deletions
diff --git a/extra/amule/gcc4.7.patch b/extra/amule/gcc4.7.patch deleted file mode 100644 index 2bfcbe057..000000000 --- a/extra/amule/gcc4.7.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- a/src/ObservableQueue.h 2011-11-20 19:08:59.000000000 +0100 -+++ b/src/ObservableQueue.h 2012-04-11 00:06:28.000000000 +0200 -@@ -331,14 +331,14 @@ - template <typename ValueType> - void CObservableQueue<ValueType>::ObserverAdded( ObserverType* o ) - { -- NotifyObservers( EventType( EventType::STARTING ), o ); -+ this->NotifyObservers( EventType( EventType::STARTING ), o ); - } - - - template <typename ValueType> - void CObservableQueue<ValueType>::ObserverRemoved( ObserverType* o ) - { -- NotifyObservers( EventType( EventType::STOPPING ), o ); -+ this->NotifyObservers( EventType( EventType::STOPPING ), o ); - } - - diff --git a/extra/bind/so_bsdcompat.patch b/extra/bind/so_bsdcompat.patch deleted file mode 100644 index 4d7031fcc..000000000 --- a/extra/bind/so_bsdcompat.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -aur old/lib/isc/unix/socket.c new/lib/isc/unix/socket.c ---- old/lib/isc/unix/socket.c 2011-02-18 05:01:16.000000000 +0100 -+++ new/lib/isc/unix/socket.c 2011-05-27 10:12:01.685269374 +0200 -@@ -712,6 +712,8 @@ - } - #endif - -+#undef SO_BSDCOMPAT -+ - static void - socket_log(isc__socket_t *sock, isc_sockaddr_t *address, - isc_logcategory_t *category, isc_logmodule_t *module, int level, diff --git a/extra/dvdrip/PKGBUILD b/extra/dvdrip/PKGBUILD deleted file mode 100644 index e3be37d2f..000000000 --- a/extra/dvdrip/PKGBUILD +++ /dev/null @@ -1,42 +0,0 @@ -# $Id: PKGBUILD 143731 2011-11-28 17:39:01Z giovanni $ -# Maintainer: Giovanni Scafora <giovanni@archlinux.org> -# Contributor: Fredrik Hammar <Horney_C86@Hotmail.com> - -pkgname=dvdrip -pkgver=0.98.11 -pkgrel=10 -pkgdesc="A Gtk frontend for transcode writen in Perl" -arch=('i686' 'x86_64') -license=('custom') -url="http://www.exit1.org/dvdrip/" -install=${pkgname}.install -depends=('perl-gtk2-ex-formfactory' 'transcode' 'imagemagick' - 'perl-libintl-perl' 'desktop-file-utils' 'perl-event-execflow') -optdepends=('ogmtools: for ogm/odd video creation' - 'lsdvd: fast reading of DVD table' - 'fping: for cluster support') -source=("http://www.exit1.org/dvdrip/dist/${pkgname}-${pkgver}.tar.gz" - 'dvdrip.desktop') -options=('!emptydirs' '!makeflags') -md5sums=('6dfa4199d451757a37eea233a07da4c0' - 'e91cf411928fd0500d07a0022b4ef546') - -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - - # install module in vendor directories. - PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor -} - -package() { - cd "${srcdir}/${pkgname}-${pkgver}" - - make install DESTDIR="${pkgdir}" - - # remove perllocal.pod and .packlist - find ${pkgdir} -name perllocal.pod -delete - find ${pkgdir} -name .packlist -delete - - install -Dm644 ${srcdir}/${pkgname}.desktop "${pkgdir}/usr/share/applications/${pkgname}.desktop" - install -Dm 644 COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" -} diff --git a/extra/dvdrip/dvdrip.desktop b/extra/dvdrip/dvdrip.desktop deleted file mode 100644 index dd19b4aae..000000000 --- a/extra/dvdrip/dvdrip.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Name=dvd::rip -Comment=DVD Ripper and Encoder - Backup and compression utility for DVDs -Exec=/usr/bin/vendor_perl/dvdrip -Icon=/usr/share/perl5/vendor_perl/Video/DVDRip/icon.xpm -Terminal=false -Type=Application -Categories=Application;AudioVideo;Video; diff --git a/extra/dvdrip/dvdrip.install b/extra/dvdrip/dvdrip.install deleted file mode 100644 index e111ef946..000000000 --- a/extra/dvdrip/dvdrip.install +++ /dev/null @@ -1,11 +0,0 @@ -post_install() { - update-desktop-database -q -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} diff --git a/extra/gstreamer0.10-good/PKGBUILD b/extra/gstreamer0.10-good/PKGBUILD deleted file mode 100644 index 3d0b13a61..000000000 --- a/extra/gstreamer0.10-good/PKGBUILD +++ /dev/null @@ -1,59 +0,0 @@ -# $Id: PKGBUILD 153259 2012-03-12 16:05:31Z jgc $ -# Maintainer: Jan de Groot <jgc@archlinux.org> - -pkgbase=gstreamer0.10-good -pkgname=('gstreamer0.10-good' 'gstreamer0.10-good-plugins') -pkgver=0.10.31 -pkgrel=1 -arch=('i686' 'x86_64') -license=('LGPL') -makedepends=('intltool' 'pkgconfig' 'gstreamer0.10-base>=0.10.34' 'libavc1394' 'libiec61883' 'aalib' 'libshout' 'libdv' 'flac' 'gconf' 'wavpack' 'taglib' 'libsoup-gnome' 'v4l-utils' 'libcaca' 'bzip2' 'gdk-pixbuf2' 'libpulse' 'jack' 'udev') -url="http://gstreamer.freedesktop.org/" -options=(!libtool !emptydirs) -source=(${url}/src/gst-plugins-good/gst-plugins-good-${pkgver}.tar.xz) -sha256sums=('77a8436a7c0a15f876bad29616835046890df2bcaf72da02151bd91e3d292b64') - -build() { - cd "${srcdir}/gst-plugins-good-${pkgver}" - sed -i '/AC_PATH_XTRA/d' configure.ac - autoreconf - ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ - --disable-static --enable-experimental \ - --disable-schemas-install \ - --disable-hal \ - --disable-esd \ - --with-package-name="GStreamer Good Plugins (Archlinux)" \ - --with-package-origin="http://www.archlinux.org/" - - make - sed -e 's/gst sys ext/gst/' -i Makefile -} - -check() { - cd "${srcdir}/gst-plugins-good-${pkgver}" - make check -} - -package_gstreamer0.10-good() { - depends=('gstreamer0.10-base>=0.10.34' 'bzip2') - pkgdesc="GStreamer Multimedia Framework Good plugin libraries" - - cd "${srcdir}/gst-plugins-good-${pkgver}" - make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install - rm -rf "${pkgdir}/etc/gconf" -} - -package_gstreamer0.10-good-plugins() { - depends=("gstreamer0.10-good=${pkgver}" 'libavc1394' 'libiec61883' 'aalib' 'libshout' 'libdv' 'flac' 'gconf' 'wavpack' 'taglib' 'libsoup-gnome' 'v4l-utils' 'libcaca' 'libpng' 'libjpeg' 'jack' 'libpulse' 'udev') - pkgdesc="GStreamer Multimedia Framework Good Plugins (gst-plugins-good)" - groups=('gstreamer0.10-plugins') - replaces=('gstreamer0.10-aalib' 'gstreamer0.10-wavpack' 'gstreamer0.10-shout2' 'gstreamer0.10-taglib' 'gstreamer0.10-libcaca' 'gstreamer0.10-libpng' 'gstreamer0.10-jpeg' 'gstreamer0.10-cairo' 'gstreamer0.10-flac' 'gstreamer0.10-speex' 'gstreamer0.10-gdkpixbuf' 'gstreamer0.10-dv1394' 'gstreamer0.10-annodex' 'gstreamer0.10-gconf' 'gstreamer0.10-esd' 'gstreamer0.10-cdio' 'gstreamer0.10-dv' 'gstreamer0.10-soup' 'gstreamer0.10-pulse') - conflicts=('gstreamer0.10-aalib' 'gstreamer0.10-wavpack' 'gstreamer0.10-shout2' 'gstreamer0.10-taglib' 'gstreamer0.10-libcaca' 'gstreamer0.10-libpng' 'gstreamer0.10-jpeg' 'gstreamer0.10-cairo' 'gstreamer0.10-flac' 'gstreamer0.10-speex' 'gstreamer0.10-gdkpixbuf' 'gstreamer0.10-dv1394' 'gstreamer0.10-annodex' 'gstreamer0.10-gconf' 'gstreamer0.10-esd' 'gstreamer0.10-cdio' 'gstreamer0.10-dv' 'gstreamer0.10-bad-plugins<0.10.7' 'gstreamer0.10-soup' 'gstreamer0.10-pulse') - install=gstreamer0.10-good-plugins.install - - cd "${srcdir}/gst-plugins-good-${pkgver}" - make -C sys DESTDIR="${pkgdir}" install - make -C ext GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install - install -m755 -d "${pkgdir}/usr/share/gconf/schemas" - install -m644 gconf/gstreamer-0.10.schemas "${pkgdir}/usr/share/gconf/schemas/gstreamer0.10-good-plugins.schemas" -} diff --git a/extra/gstreamer0.10-good/gstreamer0.10-good-plugins.install b/extra/gstreamer0.10-good/gstreamer0.10-good-plugins.install deleted file mode 100644 index e343beea5..000000000 --- a/extra/gstreamer0.10-good/gstreamer0.10-good-plugins.install +++ /dev/null @@ -1,19 +0,0 @@ -pkgname=gstreamer0.10-good-plugins - -post_install() { - usr/sbin/gconfpkg --install ${pkgname} -} - -pre_upgrade() { - if [ -f usr/share/gconf/schemas/${pkgname}.schemas ]; then - pre_remove - fi -} - -post_upgrade() { - post_install -} - -pre_remove() { - usr/sbin/gconfpkg --uninstall ${pkgname} -} diff --git a/extra/gvfs/gvfs-1.12.2-afp-g_clear_object.patch b/extra/gvfs/gvfs-1.12.2-afp-g_clear_object.patch deleted file mode 100644 index 09e11d888..000000000 --- a/extra/gvfs/gvfs-1.12.2-afp-g_clear_object.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 01161473ed33ee682f340e6f12edcba5334475e0 Mon Sep 17 00:00:00 2001 -From: Matthias Clasen <mclasen@redhat.com> -Date: Mon, 30 Apr 2012 06:09:30 -0400 -Subject: [PATCH] afp: Use g_clear_object properly - -g_clear_object expects the address of a pointer. A recent -change in its definition makes gcc complain about this. -(cherry picked from commit 7fe5deeae25f2396027f667d8960d2ec84c64716) ---- - daemon/gvfsafpvolume.c | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/daemon/gvfsafpvolume.c b/daemon/gvfsafpvolume.c -index 3fd33f2..5207459 100644 ---- a/daemon/gvfsafpvolume.c -+++ b/daemon/gvfsafpvolume.c -@@ -1082,7 +1082,7 @@ create_directory_get_filedir_parms_cb (GObject *source_object, GAsyncResult *res - return; - - error: -- g_clear_object (info); -+ g_clear_object (&info); - g_simple_async_result_take_error (simple, err); - g_simple_async_result_complete (simple); - g_object_unref (simple); -@@ -3033,4 +3033,4 @@ g_vfs_afp_volume_read_from_fork_finish (GVfsAfpVolume *volume, - *bytes_read = g_simple_async_result_get_op_res_gssize (simple); - - return TRUE; --} -\ No newline at end of file -+} --- -1.7.8.6 - diff --git a/extra/iperf/PKGBUILD b/extra/iperf/PKGBUILD deleted file mode 100644 index 85694c453..000000000 --- a/extra/iperf/PKGBUILD +++ /dev/null @@ -1,35 +0,0 @@ -# $Id: PKGBUILD 153712 2012-03-18 13:40:58Z giovanni $ -# Maintainer: Giovanni Scafora <giovanni@archlinux.org> -# Contributor: Dale Blount <dale@archlinux.org> - -pkgname=iperf -pkgver=2.0.5 -pkgrel=4 -pkgdesc="A tool to measure maximum TCP bandwidth" -arch=('i686' 'x86_64') -license=('custom') -url="http://iperf.sourceforge.net" -depends=('gcc-libs') -source=("http://downloads.sourceforge.net/iperf/iperf-2.0.5.tar.gz" - 'client.cpp.patch') -md5sums=('44b5536b67719f4250faed632a3cd016' - '82ce63c87cc8bb2f0f94069857ac14a9') - -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - - # FS#25159 - patch -Np1 -i ${srcdir}/client.cpp.patch - - ./configure --prefix=/usr \ - --enable-ipv6 \ - --enable-threads - make -} - -package() { - cd "${srcdir}/${pkgname}-${pkgver}" - - make DESTDIR="${pkgdir}" install - install -Dm644 COPYING "${pkgdir}/usr/share/licenses/iperf/LICENSE" -} diff --git a/extra/iperf/client.cpp.patch b/extra/iperf/client.cpp.patch deleted file mode 100644 index 85f89e765..000000000 --- a/extra/iperf/client.cpp.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- a/src/Client.cpp 2010-04-01 22:23:17.000000000 +0200 -+++ b/src/Client.cpp 2011-07-19 11:03:42.000000000 +0200 -@@ -212,10 +212,10 @@ - char* readAt = mBuf; - - #if HAVE_THREAD -- if ( !isUDP( mSettings ) ) { -- RunTCP(); -- return; -- } -+// if ( !isUDP( mSettings ) ) { -+// RunTCP(); -+// return; -+// } - #endif - - // Indicates if the stream is readable diff --git a/extra/libreoffice/libreoffice.install b/extra/libreoffice/libreoffice.install deleted file mode 100644 index e66b66f3d..000000000 --- a/extra/libreoffice/libreoffice.install +++ /dev/null @@ -1,47 +0,0 @@ -post_install() { - -xdg-icon-resource forceupdate --theme hicolor -update-desktop-database -q -update-mime-database usr/share/mime > /dev/null 2>&1 - -echo " * see https://wiki.archlinux.org/index.php/LibreOffice" -echo "-------------------------------------------------------------------" -echo "LibreOffice has been split into several packages:" -echo "- libreoffice-common" -echo "- libreoffice-{base,calc,draw,impress,math,writer} - frontend applications" -echo "- libreoffice-{gnome,kde4} - desktop integration plugins" -echo "- libreoffice-{sdk,sdk-doc} - add-on and doc for programming using" -echo " the LibreOffice APIs and for creating" -echo " extensions (UNO components)." -echo "-------------------------------------------------------------------" -echo " * you need to install at least one libreoffice-langpack" -echo " * you may want to pacman -Ss libreoffice-extensions" -echo " to see what additional extensions are prepared to install" -echo " * it's recommended to install {hunspell,mythes,hyphen}-xx pkg - for spell checking" -echo " * make sure you have installed some ttf font (ttf-dejavu recommended)" -} - -post_upgrade() { -# post_install $1 -xdg-icon-resource forceupdate --theme hicolor -update-desktop-database -q -update-mime-database usr/share/mime > /dev/null 2>&1 - if [ "`vercmp $2 3.4.2rc1`" -lt 0 ]; then - # important upgrade notice - echo "LibreOffice has been split into several packages:" - echo "- libreoffice-common" - echo "- libreoffice-{base,calc,draw,impress,math,writer} - frontend applications" - echo "- libreoffice-{gnome,kde4} - desktop integration plugins" - echo "- libreoffice-{sdk,sdk-doc} - add-on and doc for programming using" - echo " the LibreOffice APIs and for creating" - echo " extensions (UNO components)." - echo "Now you need to install at least one libreoffice-langpack!" - fi -} - -post_remove() { -update-desktop-database -q -xdg-icon-resource forceupdate --theme hicolor -update-mime-database usr/share/mime > /dev/null 2>&1 -} diff --git a/extra/llvm/clang-plugin-loader-registry.patch b/extra/llvm/clang-plugin-loader-registry.patch deleted file mode 100644 index f46eb9fce..000000000 --- a/extra/llvm/clang-plugin-loader-registry.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -upr llvm-2.7.orig/autoconf/ExportMap.map llvm-2.7/autoconf/ExportMap.map ---- llvm-2.7.orig/autoconf/ExportMap.map 2010-02-25 00:33:41.000000000 +0200 -+++ llvm-2.7/autoconf/ExportMap.map 2010-05-10 14:14:22.000000000 +0300 -@@ -2,6 +2,7 @@ - global: main; - __progname; - environ; -+ _ZN4llvm8RegistryIN5clang14FrontendActionENS_14RegistryTraitsIS2_EEE4HeadE; - - local: *; - }; diff --git a/extra/llvm/fix-gold-lto-linking.patch b/extra/llvm/fix-gold-lto-linking.patch deleted file mode 100644 index 84d166471..000000000 --- a/extra/llvm/fix-gold-lto-linking.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -upr llvm-3.0.src.orig/tools/gold/Makefile llvm-3.0.src/tools/gold/Makefile ---- llvm-3.0.src.orig/tools/gold/Makefile 2011-05-31 23:00:45.000000000 +0300 -+++ llvm-3.0.src/tools/gold/Makefile 2011-12-04 22:06:59.000000000 +0200 -@@ -26,6 +26,6 @@ LINK_COMPONENTS := support - # Because off_t is used in the public API, the largefile parts are required for - # ABI compatibility. - CXXFLAGS+=-I$(BINUTILS_INCDIR) -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 --CXXFLAGS+=$(SharedLibDir)/$(SharedPrefix)LTO$(SHLIBEXT) -+CXXFLAGS+=-L $(SharedLibDir) -lLTO - - include $(LEVEL)/Makefile.common diff --git a/extra/mail-notification/PKGBUILD b/extra/mail-notification/PKGBUILD deleted file mode 100644 index b7789212a..000000000 --- a/extra/mail-notification/PKGBUILD +++ /dev/null @@ -1,85 +0,0 @@ -# $Id: PKGBUILD 146721 2012-01-16 19:51:02Z dreisner $ -# Maintainer: Roman Kyrylych <roman@archlinux.org> - -pkgname=mail-notification -pkgver=5.4 -pkgrel=10 -pkgdesc="Tray icon application that informs you if you have new mail" -arch=('i686' 'x86_64') -url="http://www.nongnu.org/mailnotify/" -license=('GPL3' 'FDL') -depends=('gmime' 'libnotify' 'gnome-keyring' 'hicolor-icon-theme' 'notification-daemon' 'libgnome') -makedepends=('gob2' 'intltool' 'evolution' 'gnome-doc-utils' 'gtk2') -options=('!libtool' '!emptydirs') -install=mail-notification.install -source=(http://savannah.nongnu.org/download/mailnotify-orig/${pkgname}-${pkgver}.tar.bz2 - dont-update-cache.patch - remove-ubuntu-special-case.patch - mail-notification-5.4-evolution.patch - mail-notification-5.4-sasl_encode64.patch - mail-notification-5.4-evolution-gtkhtml.patch - mail-notification-5.4-camel_headers.patch - mail-notification-5.4-icons.patch - mail-notification-5.4-weak.patch - mail-notification-5.4-popup-attach.patch - mail-notification-5.4-kde-trayicon.patch - mail-notification-5.4-evolution-3-0-support.patch - mail-notification-5.4-gtk3-support.patch - mail-notification-5.4-add-fallback-icon.patch - mail-notification-5.4-gmime.patch - mail-notification-5.4-libx11.patch) -md5sums=('c8dc33a61251acb5474e56eab6b18f43' - '6007bc30e789dab0a8282038e0335eb9' - '9cadd61bbd9c324b2916ec980231e0f2' - 'aa6f80820899f904c25988772f70ade9' - '125513ed059f62469377eb0ab794dbed' - 'c595a3962ab13a65be24a941e28faa9c' - 'f79939f593b2e8659e302df72c2b54b1' - '244b7ef2aec7656e8df390be87c10e2b' - '31bde95dfd39449959d8b3316f91429c' - 'cdead6a88d1779f69a5f40dc75d5cb84' - 'c7991b831834724eddc1c6802c3e06a6' - 'b370b1085ebb2814bd5d345a6d2b45ea' - '1ba948759110787dd57097cff157b75a' - '09df61b4dc29c676ac81ff9054e840ac' - '0944695e9b9b30f39028f85c83c6a7e2' - 'c3f643ef16aab3b4fe9ff5b333bff41a') - -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - - patch -Np0 -i "${srcdir}/dont-update-cache.patch" - patch -Np0 -i "${srcdir}/remove-ubuntu-special-case.patch" - patch -Np1 -i "${srcdir}/mail-notification-5.4-evolution.patch" - patch -Np1 -i "${srcdir}/mail-notification-5.4-sasl_encode64.patch" - patch -Np1 -i "${srcdir}/mail-notification-5.4-evolution-gtkhtml.patch" - patch -Np1 -i "${srcdir}/mail-notification-5.4-camel_headers.patch" - patch -Np1 -i "${srcdir}/mail-notification-5.4-icons.patch" - patch -Np1 -i "${srcdir}/mail-notification-5.4-weak.patch" - patch -Np1 -i "${srcdir}/mail-notification-5.4-popup-attach.patch" - patch -Np1 -i "${srcdir}/mail-notification-5.4-kde-trayicon.patch" - patch -Np0 -i "${srcdir}/mail-notification-5.4-evolution-3-0-support.patch" - patch -Np0 -i "${srcdir}/mail-notification-5.4-gtk3-support.patch" - patch -Np0 -i "${srcdir}/mail-notification-5.4-add-fallback-icon.patch" - patch -Np1 -i "${srcdir}/mail-notification-5.4-gmime.patch" - patch -Np1 -i "${srcdir}/mail-notification-5.4-libx11.patch" - - gtk-builder-convert ui/mailbox-properties-dialog.glade ui/mailbox-properties-dialog.ui - gtk-builder-convert ui/properties-dialog.glade ui/properties-dialog.ui - - ./jb configure prefix=/usr sysconfdir=/etc \ - localstatedir=/var destdir="${pkgdir}" \ - gconf-schemas-dir=/etc/gconf/schemas install-gconf-schemas=no \ - cflags="${CFLAGS}" cppflags="${CXXFLAGS}" ldflags="${LDFLAGS}" \ - library-mode=0755 - ./jb build - GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 ./jb install - - rm -f "${pkgdir}/usr/share/mail-notification/"*.glade - install -m644 ui/mailbox-properties-dialog.ui "${pkgdir}/usr/share/mail-notification/" - install -m644 ui/properties-dialog.ui "${pkgdir}/usr/share/mail-notification/" - - install -m755 -d "${pkgdir}/usr/share/gconf/schemas" - gconf-merge-schema ${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas --domain mail-notification ${pkgdir}/etc/gconf/schemas/*.schemas - rm -f ${pkgdir}/etc/gconf/schemas/*.schemas -} diff --git a/extra/mail-notification/dont-update-cache.patch b/extra/mail-notification/dont-update-cache.patch deleted file mode 100644 index 81216835e..000000000 --- a/extra/mail-notification/dont-update-cache.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- jbsrc/jb.c.~1~ 2008-03-20 16:53:02.000000000 +0100 -+++ jbsrc/jb.c 2008-03-26 20:51:45.641363619 +0100 -@@ -327,7 +327,6 @@ - jb_package_add_resources (void) - { - JBGroup *group; -- JBRule *rule; - JBObject *object; - - if (jb_variable_get_bool("compile-warnings")) -@@ -362,11 +361,6 @@ - if (jb_variable_get_bool("hotmail")) - jb_group_add_data_file(group, "hotmail.png", "$pkgdatadir"); - -- rule = jb_rule_new(); -- jb_rule_set_install_message(rule, "updating the GTK+ icon cache"); -- jb_rule_add_install_command(rule, "-gtk-update-icon-cache -f -t $datadir/icons/hicolor"); -- jb_group_add_resource(group, JB_GROUP_RESOURCE(rule)); -- - jb_group_add(group); - - /*** data ******************************************************************/ diff --git a/extra/mail-notification/mail-notification-5.4-add-fallback-icon.patch b/extra/mail-notification/mail-notification-5.4-add-fallback-icon.patch deleted file mode 100644 index 41c28e870..000000000 --- a/extra/mail-notification/mail-notification-5.4-add-fallback-icon.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- src/mn-stock.c.orig 2011-02-17 17:42:39.886767087 +0100 -+++ src/mn-stock.c 2011-02-17 17:49:37.415541177 +0100 -@@ -86,6 +86,13 @@ - gtk_icon_source_set_icon_name(icon_source, icons[i].icon_name); - gtk_icon_set_add_source(icon_set, icon_source); - gtk_icon_source_free(icon_source); -+ -+ /* Add a fallback icon */ -+ icon_source = gtk_icon_source_new(); -+ gtk_icon_source_set_icon_name(icon_source, "mail-notification"); -+ gtk_icon_source_set_state_wildcarded(icon_source, TRUE); -+ gtk_icon_set_add_source(icon_set, icon_source); -+ gtk_icon_source_free(icon_source); - } - else if (icons[i].source_stock_id) - { diff --git a/extra/mail-notification/mail-notification-5.4-camel_headers.patch b/extra/mail-notification/mail-notification-5.4-camel_headers.patch deleted file mode 100644 index 861e3d215..000000000 --- a/extra/mail-notification/mail-notification-5.4-camel_headers.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -Nrbu mail-notification-5.4/build/src/mn-evolution-message.c mail-notification-5.4-OK/build/src/mn-evolution-message.c ---- mail-notification-5.4/build/src/mn-evolution-message.c 2008-05-22 19:47:51.000000000 +0400 -+++ mail-notification-5.4-OK/build/src/mn-evolution-message.c 2010-05-04 18:13:31.000000000 +0400 -@@ -25,7 +25,7 @@ - #line 24 "src/mn-evolution-message.gob" - - #include <glib/gi18n.h> --#include <camel/camel-folder-summary.h> -+#include <camel/camel.h> - #include "mn-evolution-mailbox.h" - #include "mn-message-private.h" - #include "mn-evolution-client.h" -diff -Nrbu mail-notification-5.4/build/src/mn-evolution-server.c mail-notification-5.4-OK/build/src/mn-evolution-server.c ---- mail-notification-5.4/build/src/mn-evolution-server.c 2010-05-04 18:12:56.000000000 +0400 -+++ mail-notification-5.4-OK/build/src/mn-evolution-server.c 2010-05-04 18:13:39.000000000 +0400 -@@ -28,7 +28,7 @@ - #include <libintl.h> - #include <gobject/gvaluecollector.h> - #include <libedataserver/eds-version.h> --#include <camel/camel-folder.h> -+#include <camel/camel.h> - #if EDS_CHECK_VERSION(2,29,0) - #include <shell/e-shell.h> - #include <mail/e-mail-browser.h> -diff -Nrbu mail-notification-5.4/src/mn-evolution-plugin.c mail-notification-5.4-OK/src/mn-evolution-plugin.c ---- mail-notification-5.4/src/mn-evolution-plugin.c 2010-05-04 18:12:56.000000000 +0400 -+++ mail-notification-5.4-OK/src/mn-evolution-plugin.c 2010-05-04 18:13:20.000000000 +0400 -@@ -24,7 +24,7 @@ - #include <dbus/dbus.h> - #include <dbus/dbus-glib-lowlevel.h> - #include <dbus/dbus-glib-bindings.h> --#include <camel/camel-folder.h> -+#include <camel/camel.h> - #include <mail/em-event.h> - #include <mail/mail-tools.h> - #include "mn-evolution.h" diff --git a/extra/mail-notification/mail-notification-5.4-evolution-3-0-support.patch b/extra/mail-notification/mail-notification-5.4-evolution-3-0-support.patch deleted file mode 100644 index 51938b5fa..000000000 --- a/extra/mail-notification/mail-notification-5.4-evolution-3-0-support.patch +++ /dev/null @@ -1,122 +0,0 @@ ---- jbsrc/lib/src/extras/jb-evolution-plugin.c.evolution30 2011-02-02 00:09:33.945696868 +0100 -+++ jbsrc/lib/src/extras/jb-evolution-plugin.c 2011-02-02 00:28:09.096275028 +0100 -@@ -41,7 +41,7 @@ - if (! minversion) - minversion = "2.12"; - -- packages = g_strdup_printf("evolution-plugin >= %s libgtkhtml-3.15 gtkhtml-editor-3.14", minversion); -+ packages = g_strdup_printf("evolution-plugin-3.0 >= %s libgtkhtml-4.0 gtkhtml-editor-4.0", minversion); - result = jb_check_packages("Evolution", "evolution-plugin", packages); - g_free(packages); - -@@ -53,7 +53,7 @@ - char *plugindir; - - jb_message_checking("for the Evolution plugin directory"); -- plugindir = jb_get_package_variable("evolution-plugin", "plugindir"); -+ plugindir = jb_get_package_variable("evolution-plugin-3.0", "plugindir"); - jb_message_result_string(plugindir ? plugindir : "not found"); - - if (! plugindir) ---- src/mn-evolution-plugin.c.orig 2011-02-09 00:07:37.422002566 +0100 -+++ src/mn-evolution-plugin.c 2011-02-09 00:12:43.652678682 +0100 -@@ -25,6 +25,7 @@ - #include <dbus/dbus-glib-lowlevel.h> - #include <dbus/dbus-glib-bindings.h> - #include <camel/camel.h> -+#include <libedataserver/eds-version.h> - #include <mail/em-event.h> - #include <mail/mail-tools.h> - #include "mn-evolution.h" -@@ -240,7 +241,11 @@ - EMEventTargetFolder *folder) - { - if (evo_server) -+#if EDS_CHECK_VERSION(3,1,0) -+ mn_evolution_server_folder_changed(evo_server, e_mail_folder_uri_build(folder->store, folder->folder_name)); -+#else - mn_evolution_server_folder_changed(evo_server, folder->uri); -+#endif - } - - void -@@ -249,10 +250,16 @@ - { - if (evo_server) - { -- char *url; -+#if EDS_CHECK_VERSION(2,91,0) -+ const char *url = camel_folder_get_uri(message->folder); -+#else -+ char *url = mail_tools_folder_to_url(message->folder); -+#endif - -- url = mail_tools_folder_to_url(message->folder); - mn_evolution_server_message_reading(evo_server, url); -+ -+#if !EDS_CHECK_VERSION(2,91,0) - g_free(url); -+#endif - } - } ---- build/src/mn-evolution-server.c.orig 2011-02-09 00:17:38.850944227 +0100 -+++ build/src/mn-evolution-server.c 2011-02-09 22:21:54.155346478 +0100 -@@ -496,11 +496,15 @@ - - if (! folder) - { -- folder = mail_tool_uri_to_folder(uri, 0, - #if EDS_CHECK_VERSION(2,91,0) -- NULL, -+ static EMailSession * session = NULL; -+ if (!session) -+ session = e_mail_session_new(); -+ -+ folder = e_mail_session_uri_to_folder_sync(session, uri, 0, NULL, NULL); -+#else -+ folder = mail_tool_uri_to_folder(uri, 0, NULL); - #endif -- NULL); - if (folder) - self_cache_folder(uri, folder); - else -@@ -677,7 +681,12 @@ - folder = self_lookup_folder(folder_uri, err); - if (folder) - { -+#if EDS_CHECK_VERSION(3,1,0) -+ *ret = g_strdup(camel_folder_get_display_name(folder)); -+#else - *ret = g_strdup(camel_folder_get_name(folder)); -+#endif -+ - #if EDS_CHECK_VERSION(2,31,0) - g_object_unref(folder); - #else -@@ -725,8 +734,12 @@ - shell = e_shell_get_default (); - shell_backend = e_shell_get_backend_by_name (shell, "mail"); - -- browser = e_mail_browser_new (shell_backend); -+ browser = e_mail_browser_new (E_MAIL_BACKEND(shell_backend)); -+#if EDS_CHECK_VERSION(3,1,0) -+ e_mail_reader_set_folder (E_MAIL_READER (browser), folder); -+#else - e_mail_reader_set_folder (E_MAIL_READER (browser), folder, folder_uri); -+#endif - e_mail_reader_set_message (E_MAIL_READER (browser), message_uid); - gtk_widget_show (browser); - #else ---- build/src/mn-evolution-folder-tree-server.c.orig 2011-06-17 22:01:49.226886994 +0200 -+++ build/src/mn-evolution-folder-tree-server.c 2011-06-18 00:34:23.046889847 +0200 -@@ -444,7 +444,9 @@ - { - #line 61 "src/mn-evolution-folder-tree-server.gob" - --#if EDS_CHECK_VERSION(2,91,0) -+#if EDS_CHECK_VERSION(3,1,0) -+ selfp->tree = em_folder_tree_new(NULL, NULL); -+#elif EDS_CHECK_VERSION(2,91,0) - selfp->session = e_mail_session_new(); - selfp->tree = em_folder_tree_new(selfp->session); - #elif EDS_CHECK_VERSION(2,29,0) diff --git a/extra/mail-notification/mail-notification-5.4-evolution-gtkhtml.patch b/extra/mail-notification/mail-notification-5.4-evolution-gtkhtml.patch deleted file mode 100644 index 283ef36d6..000000000 --- a/extra/mail-notification/mail-notification-5.4-evolution-gtkhtml.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nrbu mail-notification-5.4/jbsrc/lib/src/extras/jb-evolution-plugin.c mail-notification-5.4-OK/jbsrc/lib/src/extras/jb-evolution-plugin.c ---- mail-notification-5.4/jbsrc/lib/src/extras/jb-evolution-plugin.c 2008-04-27 18:47:43.000000000 +0400 -+++ mail-notification-5.4-OK/jbsrc/lib/src/extras/jb-evolution-plugin.c 2009-08-21 19:48:22.000000000 +0400 -@@ -41,7 +41,7 @@ - if (! minversion) - minversion = "2.12"; - -- packages = g_strdup_printf("evolution-plugin >= %s", minversion); -+ packages = g_strdup_printf("evolution-plugin >= %s libgtkhtml-3.15 gtkhtml-editor-3.14", minversion); - result = jb_check_packages("Evolution", "evolution-plugin", packages); - g_free(packages); - diff --git a/extra/mail-notification/mail-notification-5.4-evolution.patch b/extra/mail-notification/mail-notification-5.4-evolution.patch deleted file mode 100644 index 87514c22d..000000000 --- a/extra/mail-notification/mail-notification-5.4-evolution.patch +++ /dev/null @@ -1,244 +0,0 @@ -diff -Nrbu mail-notification-5.4/build/src/mn-evolution-folder-tree-server.c mail-notification-5.4-OK/build/src/mn-evolution-folder-tree-server.c ---- mail-notification-5.4/build/src/mn-evolution-folder-tree-server.c 2008-05-22 19:47:48.000000000 +0400 -+++ mail-notification-5.4-OK/build/src/mn-evolution-folder-tree-server.c 2010-10-12 16:50:15.000000000 +0400 -@@ -25,7 +25,10 @@ - #line 24 "src/mn-evolution-folder-tree-server.gob" - - #include <dbus/dbus.h> -+#include <libedataserver/eds-version.h> -+#if !EDS_CHECK_VERSION(2,29,0) - #include <mail/mail-component.h> -+#endif - #include <mail/em-folder-tree.h> - #include "mn-evolution-plugin.h" - #include "mn-evolution.h" -@@ -441,10 +444,17 @@ - { - #line 61 "src/mn-evolution-folder-tree-server.gob" - -+#if EDS_CHECK_VERSION(2,91,0) -+ selfp->session = e_mail_session_new(); -+ selfp->tree = em_folder_tree_new(selfp->session); -+#elif EDS_CHECK_VERSION(2,29,0) -+ selfp->tree = em_folder_tree_new(); -+#else - EMFolderTreeModel *model; - - model = mail_component_peek_tree_model(mail_component_peek()); - selfp->tree = em_folder_tree_new_with_model(model); -+#endif - - selfp->plug = gtk_plug_new((GdkNativeWindow) selfp->id); - gtk_container_add(GTK_CONTAINER(selfp->plug), selfp->tree); -@@ -469,6 +479,10 @@ - { - #line 80 "src/mn-evolution-folder-tree-server.gob" - -+#if EDS_CHECK_VERSION(2,91,0) -+ g_object_unref(selfp->session); -+ selfp->session = NULL; -+#endif - g_signal_handlers_disconnect_by_func(selfp->plug, self_plug_destroy_h, self); - }} - #line 475 "mn-evolution-folder-tree-server.c" -diff -Nrbu mail-notification-5.4/build/src/mn-evolution-server.c mail-notification-5.4-OK/build/src/mn-evolution-server.c ---- mail-notification-5.4/build/src/mn-evolution-server.c 2008-05-22 19:47:48.000000000 +0400 -+++ mail-notification-5.4-OK/build/src/mn-evolution-server.c 2010-10-12 16:50:40.000000000 +0400 -@@ -27,12 +27,22 @@ - #include <stdio.h> - #include <libintl.h> - #include <gobject/gvaluecollector.h> -+#include <libedataserver/eds-version.h> - #include <camel/camel-folder.h> -+#if EDS_CHECK_VERSION(2,29,0) -+#include <shell/e-shell.h> -+#include <mail/e-mail-browser.h> -+#else - #include <mail/em-folder-view.h> - #include <mail/em-format.h> - #include <mail/em-message-browser.h> -+#endif - #include <mail/em-utils.h> -+#if EDS_CHECK_VERSION(2,91,0) -+#include <mail/e-mail-session.h> -+#else - #include <mail/mail-session.h> -+#endif - #include <mail/mail-tools.h> - #include "mn-evolution.h" - #include "mn-evolution-folder-tree-server.h" -@@ -391,10 +397,18 @@ - info = g_new0(FolderInfo, 1); - info->uri = g_strdup(uri); - info->folder = folder; -+#if EDS_CHECK_VERSION(2,31,0) -+ g_object_ref(folder); -+#else - camel_object_ref(folder); -+#endif - - /* uncache the folder when it is deleted */ -+#if EDS_CHECK_VERSION(2,31,0) -+ g_signal_connect(folder, "deleted", G_CALLBACK(self_folder_deleted_cb), info); -+#else - camel_object_hook_event(folder, "deleted", self_folder_deleted_cb, info); -+#endif - - g_hash_table_replace(folders, info->uri, info); - }} -@@ -413,8 +427,13 @@ - { - #line 105 "src/mn-evolution-server.gob" - -+#if EDS_CHECK_VERSION(2,31,0) -+ g_signal_handlers_disconnect_by_func(info->folder, self_folder_deleted_cb, info); -+ g_object_unref(info->folder); -+#else - camel_object_unhook_event(info->folder, "deleted", self_folder_deleted_cb, info); - camel_object_unref(info->folder); -+#endif - g_free(info->uri); - g_free(info); - }} -@@ -461,7 +480,11 @@ - if (info) - { - folder = info->folder; -+#if EDS_CHECK_VERSION(2,31,0) -+ g_object_ref(folder); -+#else - camel_object_ref(folder); -+#endif - } - } - else -@@ -469,7 +492,11 @@ - - if (! folder) - { -- folder = mail_tool_uri_to_folder(uri, 0, NULL); -+ folder = mail_tool_uri_to_folder(uri, 0, -+#if EDS_CHECK_VERSION(2,91,0) -+ NULL, -+#endif -+ NULL); - if (folder) - self_cache_folder(uri, folder); - else -@@ -595,14 +622,23 @@ - - for (i = 0; i < summary->len; i++) - { -+#if EDS_CHECK_VERSION(2,23,5) -+ char *uid = summary->pdata[i]; -+ CamelMessageInfo *info = camel_folder_get_message_info(folder, uid); -+#else - CamelMessageInfo *info = summary->pdata[i]; -+#endif - - if ((camel_message_info_flags(info) & CAMEL_MESSAGE_SEEN) == 0) - g_ptr_array_add(*ret, self_camel_message_info_to_dbus_struct(info)); - } - - camel_folder_free_summary(folder, summary); -+#if EDS_CHECK_VERSION(2,31,0) -+ g_object_unref(folder); -+#else - camel_object_unref(folder); -+#endif - } - - GDK_THREADS_LEAVE(); -@@ -638,7 +674,11 @@ - if (folder) - { - *ret = g_strdup(camel_folder_get_name(folder)); -+#if EDS_CHECK_VERSION(2,31,0) -+ g_object_unref(folder); -+#else - camel_object_unref(folder); -+#endif - } - - GDK_THREADS_LEAVE(); -@@ -673,6 +713,19 @@ - folder = self_lookup_folder(folder_uri, err); - if (folder) - { -+#if EDS_CHECK_VERSION(2,29,0) -+ EShell *shell; -+ EShellBackend *shell_backend; -+ GtkWidget *browser; -+ -+ shell = e_shell_get_default (); -+ shell_backend = e_shell_get_backend_by_name (shell, "mail"); -+ -+ browser = e_mail_browser_new (shell_backend); -+ e_mail_reader_set_folder (E_MAIL_READER (browser), folder, folder_uri); -+ e_mail_reader_set_message (E_MAIL_READER (browser), message_uid); -+ gtk_widget_show (browser); -+#else - GtkWidget *browser; - - /* modelled after Evolution's handleuri_got_folder() */ -@@ -683,8 +736,13 @@ - em_folder_view_set_folder((EMFolderView *) browser, folder, folder_uri); - em_folder_view_set_message((EMFolderView *) browser, message_uid, FALSE); - gtk_widget_show(((EMMessageBrowser *) browser)->window); -+#endif - -+#if EDS_CHECK_VERSION(2,31,0) -+ g_object_unref(folder); -+#else - camel_object_unref(folder); -+#endif - } - - GDK_THREADS_LEAVE(); -@@ -721,7 +779,11 @@ - if (folder) - { - status = camel_folder_set_message_flags(folder, message_uid, flags, flags); -+#if EDS_CHECK_VERSION(2,31,0) -+ g_object_unref(folder); -+#else - camel_object_unref(folder); -+#endif - - if (! status) - g_set_error(err, -diff -Nrbu mail-notification-5.4/src/mn-evolution-plugin.c mail-notification-5.4-OK/src/mn-evolution-plugin.c ---- mail-notification-5.4/src/mn-evolution-plugin.c 2008-05-22 19:45:35.000000000 +0400 -+++ mail-notification-5.4-OK/src/mn-evolution-plugin.c 2010-10-12 16:50:15.000000000 +0400 -@@ -204,7 +204,7 @@ - } - - int --e_plugin_lib_enable (EPluginLib *ep, int enable) -+e_plugin_lib_enable (EPlugin *ep, int enable) - { - static gboolean enabled = FALSE; - GError *err = NULL; ---- mail-notification-5.4/build/src/mn-evolution-folder-tree-server-private.h.orig 2010-11-13 13:55:01.571934066 +0100 -+++ mail-notification-5.4/build/src/mn-evolution-folder-tree-server-private.h 2010-11-13 13:56:07.019487418 +0100 -@@ -4,6 +4,10 @@ - #define __MN_EVOLUTION_FOLDER_TREE_SERVER_PRIVATE_H__ - - #include "mn-evolution-folder-tree-server.h" -+#include <libedataserver/eds-version.h> -+#if EDS_CHECK_VERSION(2,91,0) -+#include <mail/e-mail-session.h> -+#endif - - #ifdef __cplusplus - extern "C" { -@@ -23,6 +23,9 @@ - #line 41 "src/mn-evolution-folder-tree-server.gob" - GtkWidget * tree; - #line 26 "mn-evolution-folder-tree-server-private.h" -+#if EDS_CHECK_VERSION(2,91,0) -+ EMailSession * session; -+#endif - }; - - #ifdef __cplusplus diff --git a/extra/mail-notification/mail-notification-5.4-gmime.patch b/extra/mail-notification/mail-notification-5.4-gmime.patch deleted file mode 100644 index 5f516a46b..000000000 --- a/extra/mail-notification/mail-notification-5.4-gmime.patch +++ /dev/null @@ -1,63 +0,0 @@ -diff -Nrbu mail-notification-5.4/build/src/mn-base-mbox-mailbox-backend.c mail-notification-5.4-OK/build/src/mn-base-mbox-mailbox-backend.c ---- mail-notification-5.4/build/src/mn-base-mbox-mailbox-backend.c 2008-12-23 14:48:49.000000000 +0300 -+++ mail-notification-5.4-OK/build/src/mn-base-mbox-mailbox-backend.c 2008-12-23 14:48:28.000000000 +0300 -@@ -265,7 +265,7 @@ - mime_message = g_mime_parser_construct_message(parser); - if (mime_message) - { -- if (g_mime_message_get_header(mime_message, "X-Mozilla-Status")) -+ if (g_mime_object_get_header(mime_message, "X-Mozilla-Status")) - { - #if WITH_MOZILLA - type = MN_TYPE_MOZILLA_MAILBOX_BACKEND; -diff -Nrbu mail-notification-5.4/build/src/mn-mozilla-mailbox-backend.c mail-notification-5.4-OK/build/src/mn-mozilla-mailbox-backend.c ---- mail-notification-5.4/build/src/mn-mozilla-mailbox-backend.c 2008-12-23 14:48:49.000000000 +0300 -+++ mail-notification-5.4-OK/build/src/mn-mozilla-mailbox-backend.c 2008-12-23 14:46:47.000000000 +0300 -@@ -167,7 +167,7 @@ - - const char *header; - -- header = g_mime_message_get_header(mime_message, header_name); -+ header = g_mime_object_get_header(mime_message, header_name); - if (header && mn_str_ishex(header)) - return strtol(header, NULL, 16); - else -diff -Nrbu mail-notification-5.4/jbsrc/jb.c mail-notification-5.4-OK/jbsrc/jb.c ---- mail-notification-5.4/jbsrc/jb.c 2008-05-22 19:47:04.000000000 +0400 -+++ mail-notification-5.4-OK/jbsrc/jb.c 2008-12-23 14:43:09.000000000 +0300 -@@ -166,7 +166,7 @@ - jb_require_packages("GNOME", "gnome", "glib-2.0 >= 2.14 gthread-2.0 gconf-2.0 >= 2.4.0 gtk+-2.0 >= 2.12 libgnomeui-2.0 >= 2.14.0 gnome-vfs-2.0 libglade-2.0 libxml-2.0 libnotify >= 0.4.1"); - jb_require_packages("D-Bus", "dbus", "dbus-glib-1"); - -- jb_check_packages_for_options("GMime", "gmime", "gmime-2.0 >= 2.2.7", -+ jb_check_packages_for_options("GMime", "gmime", "gmime-2.6", - "hotmail", - "imap", - "maildir", -diff -Nrbu mail-notification-5.4/src/mn-message-mime.c mail-notification-5.4-OK/src/mn-message-mime.c ---- mail-notification-5.4/src/mn-message-mime.c 2008-05-22 19:45:35.000000000 +0400 -+++ mail-notification-5.4-OK/src/mn-message-mime.c 2008-12-23 14:46:35.000000000 +0300 -@@ -33,12 +33,12 @@ - g_return_val_if_fail(GMIME_IS_MESSAGE(mime_message), FALSE); - - /* SpamAssassin */ -- spam = g_mime_message_get_header(mime_message, "X-Spam-Status"); -+ spam = g_mime_object_get_header(mime_message, "X-Spam-Status"); - if (spam && mn_ascii_str_case_has_prefix(spam, "yes")) - return TRUE; - - /* bogofilter */ -- spam = g_mime_message_get_header(mime_message, "X-Bogosity"); -+ spam = g_mime_object_get_header(mime_message, "X-Bogosity"); - if (spam && mn_ascii_str_case_has_prefix(spam, "yes")) - return TRUE; - -@@ -89,7 +89,7 @@ - { - const char *status; - -- status = g_mime_message_get_header(mime_message, "Status"); -+ status = g_mime_object_get_header(mime_message, "Status"); - if (status && strchr(status, 'R')) - return NULL; /* the message was read */ - else if (status && strchr(status, 'O')) diff --git a/extra/mail-notification/mail-notification-5.4-gtk3-support.patch b/extra/mail-notification/mail-notification-5.4-gtk3-support.patch deleted file mode 100644 index 6a29f8622..000000000 --- a/extra/mail-notification/mail-notification-5.4-gtk3-support.patch +++ /dev/null @@ -1,1416 +0,0 @@ ---- build/src/mn-dialog.c.orig 2011-02-02 23:08:09.816659245 +0100 -+++ build/src/mn-dialog.c 2011-02-02 23:09:16.988113774 +0100 -@@ -106,8 +106,7 @@ - #line 27 "src/mn-dialog.gob" - - gtk_container_set_border_width(GTK_CONTAINER(self), 5); -- gtk_dialog_set_has_separator(GTK_DIALOG(self), FALSE); -- gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(self)->vbox), 2); -+ gtk_box_set_spacing(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(self))), 2); - - #line 113 "mn-dialog.c" - } ---- jbsrc/jb.c.orig 2011-02-02 23:40:33.567924712 +0100 -+++ jbsrc/jb.c 2011-02-02 23:39:39.680803618 +0100 -@@ -163,7 +163,7 @@ - { - jb_check_glibc(); - -- jb_require_packages("GNOME", "gnome", "glib-2.0 >= 2.14 gthread-2.0 gconf-2.0 >= 2.4.0 gtk+-2.0 >= 2.12 libgnomeui-2.0 >= 2.14.0 gnome-vfs-2.0 libglade-2.0 libxml-2.0 libnotify >= 0.4.1"); -+ jb_require_packages("GNOME", "gnome", "glib-2.0 >= 2.14 gthread-2.0 gconf-2.0 >= 2.4.0 gtk+-3.0 libgnome-2.0 >= 2.14.0 gnome-vfs-2.0 libxml-2.0 libnotify >= 0.4.1"); - jb_require_packages("D-Bus", "dbus", "dbus-glib-1"); - - jb_check_packages_for_options("GMime", "gmime", "gmime-2.6", ---- build/src/mn-file-chooser-button.c.orig 2011-02-02 23:38:01.503049512 +0100 -+++ build/src/mn-file-chooser-button.c 2011-02-02 23:38:16.988222034 +0100 -@@ -358,7 +358,7 @@ - g_signal_connect(selfp->dialog, "response", G_CALLBACK(self_response_h), self); - } - -- if (! GTK_WIDGET_VISIBLE(selfp->dialog)) -+ if (! gtk_widget_get_visible(selfp->dialog)) - { - GtkWindow *parent; - ---- build/src/mn-sound-player.c.orig 2011-02-02 23:55:02.436500397 +0100 -+++ build/src/mn-sound-player.c 2011-02-02 23:55:09.125141055 +0100 -@@ -27,7 +27,7 @@ - #include <sys/types.h> - #include <signal.h> - #include <glib/gi18n.h> --#include <gnome.h> -+#include <libgnome/libgnome.h> - #include "mn-conf.h" - #include "mn-locked-callback.h" - #include "mn-util.h" ---- build/src/mn-file-chooser-button.c.orig 2011-02-02 23:55:21.857457045 +0100 -+++ build/src/mn-file-chooser-button.c 2011-02-02 23:55:30.422996901 +0100 -@@ -25,7 +25,7 @@ - #line 39 "src/mn-file-chooser-button.gob" - - #include <glib/gi18n.h> --#include <gnome.h> -+#include <libgnome/libgnome.h> - #include "mn-util.h" - - #line 32 "mn-file-chooser-button.c" ---- build/src/mn-message.c.orig 2011-02-02 23:55:41.160420099 +0100 -+++ build/src/mn-message.c 2011-02-02 23:55:47.755065850 +0100 -@@ -26,7 +26,7 @@ - - #include <errno.h> - #include <glib/gi18n.h> --#include <gnome.h> -+#include <libgnome/libgnome.h> - #include <libgnomevfs/gnome-vfs.h> - #include "mn-conf.h" - #include "mn-util.h" ---- build/src/mn-file-chooser-button.c.orig 2011-02-03 00:15:16.178407712 +0100 -+++ build/src/mn-file-chooser-button.c 2011-02-03 00:18:17.865681563 +0100 -@@ -463,6 +463,7 @@ - - GDK_THREADS_ENTER(); - -+#if 0 - if (results) - { - GnomeVFSGetFileInfoResult *result = results->data; -@@ -494,6 +495,7 @@ - } - } - } -+#endif - - selfp->async_handle = NULL; - g_object_unref(self); ---- build/src/mn-evolution-folder-tree-server.c.orig 2011-02-07 20:17:09.574274620 +0100 -+++ build/src/mn-evolution-folder-tree-server.c 2011-02-07 20:23:25.196053994 +0100 -@@ -25,6 +25,7 @@ - #line 24 "src/mn-evolution-folder-tree-server.gob" - - #include <dbus/dbus.h> -+#include <gtk/gtkx.h> - #include <libedataserver/eds-version.h> - #if !EDS_CHECK_VERSION(2,29,0) - #include <mail/mail-component.h> -@@ -71,7 +72,7 @@ - static void mn_evolution_folder_tree_server_finalize (MNEvolutionFolderTreeServer * self); - #line 70 "mn-evolution-folder-tree-server.c" - #line 84 "src/mn-evolution-folder-tree-server.gob" --static void mn_evolution_folder_tree_server_plug_destroy_h (GtkObject * object, gpointer user_data); -+static void mn_evolution_folder_tree_server_plug_destroy_h (GtkWidget * object, gpointer user_data); - #line 73 "mn-evolution-folder-tree-server.c" - #line 104 "src/mn-evolution-folder-tree-server.gob" - static void mn_evolution_folder_tree_server_selected_h (EMFolderTree * tree, const char * full_name, const char * uri, guint32 flags, gpointer user_data); -@@ -456,7 +457,7 @@ - selfp->tree = em_folder_tree_new_with_model(model); - #endif - -- selfp->plug = gtk_plug_new((GdkNativeWindow) selfp->id); -+ selfp->plug = gtk_plug_new((Window) selfp->id); - gtk_container_add(GTK_CONTAINER(selfp->plug), selfp->tree); - gtk_widget_show_all(selfp->plug); - -@@ -490,7 +491,7 @@ - - #line 84 "src/mn-evolution-folder-tree-server.gob" - static void --mn_evolution_folder_tree_server_plug_destroy_h (GtkObject * object, gpointer user_data) -+mn_evolution_folder_tree_server_plug_destroy_h (GtkWidget * object, gpointer user_data) - { - #line 482 "mn-evolution-folder-tree-server.c" - #define __GOB_FUNCTION__ "MN:Evolution:Folder:Tree:Server::plug_destroy_h" ---- src/eggtrayicon.h.orig 2011-02-07 20:25:26.352057350 +0100 -+++ src/eggtrayicon.h 2011-02-07 20:27:54.495032920 +0100 -@@ -23,10 +23,9 @@ - #ifndef __EGG_TRAY_ICON_H__ - #define __EGG_TRAY_ICON_H__ - --#include <gtk/gtkplug.h> --#ifdef GDK_WINDOWING_X11 -+#include <gtk/gtk.h> -+#include <gtk/gtkx.h> - #include <gdk/gdkx.h> --#endif - - G_BEGIN_DECLS - ---- build/src/mn-mail-icon.c.orig 2011-02-07 20:24:58.971663075 +0100 -+++ build/src/mn-mail-icon.c 2011-02-07 20:30:33.714401306 +0100 -@@ -833,11 +833,13 @@ - #line 239 "src/mn-mail-icon.gob" - - GtkWidget *widget = user_data; -+ GtkAllocation allocation; - -- gdk_window_get_origin(widget->window, x, y); -+ gdk_window_get_origin(gtk_widget_get_window(widget), x, y); -+ gtk_widget_get_allocation(widget, &allocation); - -- *x += widget->allocation.x; -- *y += widget->allocation.y; -+ *x += allocation.x; -+ *y += allocation.y; - - if (*y > gdk_screen_get_height(gtk_widget_get_screen(widget)) / 2) - { -@@ -847,7 +849,7 @@ - *y -= req.height; - } - else -- *y += widget->allocation.height; -+ *y += allocation.height; - - *push_in = TRUE; - }} ---- build/src/mn-mail-icon-widget.c.orig 2011-02-07 20:31:19.475816763 +0100 -+++ build/src/mn-mail-icon-widget.c 2011-02-07 21:53:48.858814715 +0100 -@@ -64,9 +64,13 @@ - #line 65 "mn-mail-icon-widget.c" - #line 110 "src/mn-mail-icon-widget.gob" - static void ___7_mn_mail_icon_widget_size_request (GtkWidget * widget, GtkRequisition * requisition); -+static void -+mn_mail_icon_widget_get_preferred_width(GtkWidget *widget, gint *minimal_width, gint *natural_width); -+static void -+mn_mail_icon_widget_get_preferred_height(GtkWidget *widget, gint *minimal_height, gint *natural_height); - #line 68 "mn-mail-icon-widget.c" - #line 132 "src/mn-mail-icon-widget.gob" --static gboolean ___8_mn_mail_icon_widget_expose_event (GtkWidget * widget, GdkEventExpose * event); -+static gboolean ___8_mn_mail_icon_widget_draw (GtkWidget * widget, cairo_t *cr); - #line 71 "mn-mail-icon-widget.c" - #line 244 "src/mn-mail-icon-widget.gob" - static GdkPixbuf * mn_mail_icon_widget_render_icon (MNMailIconWidget * self); -@@ -187,9 +191,10 @@ - parent_class = g_type_class_ref (GTK_TYPE_WIDGET); - - #line 110 "src/mn-mail-icon-widget.gob" -- gtk_widget_class->size_request = ___7_mn_mail_icon_widget_size_request; -+ gtk_widget_class->get_preferred_width = mn_mail_icon_widget_get_preferred_width; -+ gtk_widget_class->get_preferred_height = mn_mail_icon_widget_get_preferred_height; - #line 132 "src/mn-mail-icon-widget.gob" -- gtk_widget_class->expose_event = ___8_mn_mail_icon_widget_expose_event; -+ gtk_widget_class->draw = ___8_mn_mail_icon_widget_draw; - #line 194 "mn-mail-icon-widget.c" - g_object_class->dispose = ___dispose; - g_object_class->finalize = ___finalize; -@@ -234,7 +239,7 @@ - { - #line 93 "src/mn-mail-icon-widget.gob" - -- GTK_WIDGET_SET_FLAGS(self, GTK_NO_WINDOW); -+ gtk_widget_set_has_window(GTK_WIDGET(self), FALSE); - - gtk_widget_set_name(GTK_WIDGET(self), "mn-mail-icon"); - -@@ -457,9 +462,28 @@ - #undef __GOB_FUNCTION__ - #undef PARENT_HANDLER - -+static void -+mn_mail_icon_widget_get_preferred_width(GtkWidget *widget, gint *minimal_width, gint *natural_width) -+{ -+ GtkRequisition requisition; -+ -+ ___7_mn_mail_icon_widget_size_request (widget, &requisition); -+ *minimal_width = *natural_width = requisition.width; -+} -+ -+static void -+mn_mail_icon_widget_get_preferred_height(GtkWidget *widget, gint *minimal_height, gint *natural_height) -+{ -+ GtkRequisition requisition; -+ -+ ___7_mn_mail_icon_widget_size_request (widget, &requisition); -+ -+ *minimal_height = *natural_height = requisition.height; -+} -+ - #line 132 "src/mn-mail-icon-widget.gob" - static gboolean --___8_mn_mail_icon_widget_expose_event (GtkWidget * widget G_GNUC_UNUSED, GdkEventExpose * event) -+___8_mn_mail_icon_widget_draw (GtkWidget * widget G_GNUC_UNUSED, cairo_t *cr) - #line 464 "mn-mail-icon-widget.c" - #define PARENT_HANDLER(___widget,___event) \ - ((GTK_WIDGET_CLASS(parent_class)->expose_event)? \ -@@ -472,7 +496,7 @@ - - Self *self = SELF(widget); - -- if (! GTK_WIDGET_DRAWABLE(widget) || ! selfp->stock_id) -+ if (! gtk_widget_is_drawable(widget) || ! selfp->stock_id) - return FALSE; - - if (selfp->is_on) -@@ -480,23 +504,34 @@ - int x; - int y; - GdkRectangle image_area; -+ GtkAllocation allocation; -+ GtkRequisition requisition; - - /* note: widget->requisition is the pixbuf size, see size_request() */ - -- x = floor(widget->allocation.x + ((widget->allocation.width - widget->requisition.width) * ICON_XALIGN)); -- y = floor(widget->allocation.y + ((widget->allocation.height - widget->requisition.height) * ICON_YALIGN)); -+ gtk_widget_get_allocation(widget, &allocation); -+ gtk_widget_get_requisition(widget, &requisition); -+ -+ x = floor(allocation.x + ((allocation.width - requisition.width) * ICON_XALIGN)); -+ y = floor(allocation.y + ((allocation.height - requisition.height) * ICON_YALIGN)); - - image_area.x = x; - image_area.y = y; -- image_area.width = widget->requisition.width; -- image_area.height = widget->requisition.height; -+ image_area.width = requisition.width; -+ image_area.height = requisition.height; - -+#if 0 - if (gdk_rectangle_intersect(&event->area, &image_area, &image_area)) -+#endif - { - GdkPixbuf *pixbuf; - - pixbuf = self_render_icon(self); -+ gdk_cairo_set_source_pixbuf(cr, pixbuf, image_area.x, image_area.y); -+ cairo_move_to(cr, image_area.x - x, image_area.y - y); -+ cairo_paint(cr); - -+#if 0 - gdk_draw_pixbuf(widget->window, - NULL, - pixbuf, -@@ -509,6 +544,7 @@ - GDK_RGB_DITHER_NORMAL, - 0, - 0); -+#endif - - g_object_unref(pixbuf); - } -@@ -523,13 +559,16 @@ - int box_y; - int box_width; - int box_height; -+ GtkAllocation allocation; -+ -+ gtk_widget_get_allocation(widget, &allocation); - - if (! selfp->count_layout) - { - const char *size; - char *markup; - -- if (widget->allocation.height < 32) -+ if (allocation.height < 32) - size = "small"; - else - size = "medium"; -@@ -546,17 +585,16 @@ - box_width = count_rect.width + COUNT_BOX_XPAD * 2; - box_height = count_rect.height + COUNT_BOX_YPAD * 2; - -- box_x = widget->allocation.x + widget->allocation.width - box_width - COUNT_BOX_XMARGIN; -- box_y = widget->allocation.y + widget->allocation.height - box_height - COUNT_BOX_YMARGIN; -+ box_x = allocation.x + allocation.width - box_width - COUNT_BOX_XMARGIN; -+ box_y = allocation.y + allocation.height - box_height - COUNT_BOX_YMARGIN; - - count_x = box_x - count_rect.x + COUNT_BOX_XPAD; - count_y = box_y - count_rect.y + COUNT_BOX_YPAD; - -- gtk_paint_box(widget->style, -- widget->window, -- GTK_WIDGET_STATE(widget), -+ gtk_paint_box(gtk_widget_get_style(widget), -+ cr, -+ gtk_widget_get_state_flags(widget), - GTK_SHADOW_OUT, -- &event->area, - widget, - NULL, - box_x, -@@ -564,11 +602,10 @@ - box_width, - box_height); - -- gtk_paint_layout(widget->style, -- widget->window, -- GTK_WIDGET_STATE(widget), -+ gtk_paint_layout(gtk_widget_get_style(widget), -+ cr, -+ gtk_widget_get_state_flags(widget), - FALSE, -- &event->area, - widget, - NULL, - count_x, ---- build/src/mn-mailbox-properties-dialog.c.orig 2011-02-07 21:57:31.257251776 +0100 -+++ build/src/mn-mailbox-properties-dialog.c 2011-02-07 21:56:56.989854854 +0100 -@@ -456,7 +456,7 @@ - MNMailboxProperties *properties; - - mn_container_create_interface(GTK_CONTAINER(self), -- PKGDATADIR G_DIR_SEPARATOR_S "mailbox-properties-dialog.glade", -+ PKGDATADIR G_DIR_SEPARATOR_S "mailbox-properties-dialog.ui", - "notebook", - "mn_mailbox_properties_dialog_", - "notebook", &self->notebook, -@@ -1290,7 +1290,7 @@ - { - #line 686 "src/mn-mailbox-properties-dialog.gob" - -- if (GTK_WIDGET_IS_SENSITIVE(GTK_WINDOW(self)->default_widget)) -+ if (gtk_widget_is_sensitive(gtk_window_get_default_widget(GTK_WINDOW(self)))) - gtk_window_activate_default(GTK_WINDOW(self)); - else - { -@@ -1313,9 +1313,9 @@ - if (elem->data == entry) - break; - -- if (GTK_WIDGET_MAPPED(elem->data) -- && GTK_WIDGET_VISIBLE(elem->data) -- && GTK_WIDGET_SENSITIVE(elem->data)) -+ if (gtk_widget_get_mapped(elem->data) -+ && gtk_widget_get_visible(elem->data) -+ && gtk_widget_get_sensitive(elem->data)) - next = elem->data; - } - while (! next); ---- build/src/mn-mailbox-view.c.orig 2011-02-07 22:18:49.962462920 +0100 -+++ build/src/mn-mailbox-view.c 2011-02-07 23:01:39.990363248 +0100 -@@ -412,23 +412,23 @@ - binding_set = gtk_binding_set_by_class(class); - - /* Delete removes a row */ -- gtk_binding_entry_add_signal(binding_set, GDK_Delete, 0, "activate-remove", 0); -- gtk_binding_entry_add_signal(binding_set, GDK_KP_Delete, 0, "activate-remove", 0); -+ gtk_binding_entry_add_signal(binding_set, GDK_KEY_Delete, 0, "activate-remove", 0); -+ gtk_binding_entry_add_signal(binding_set, GDK_KEY_KP_Delete, 0, "activate-remove", 0); - - /* HIG 2.0 cut/copy/paste shortcuts */ -- gtk_binding_entry_add_signal(binding_set, GDK_x, GDK_CONTROL_MASK, "activate-cut", 0); -- gtk_binding_entry_add_signal(binding_set, GDK_c, GDK_CONTROL_MASK, "activate-copy", 0); -- gtk_binding_entry_add_signal(binding_set, GDK_v, GDK_CONTROL_MASK, "activate-paste", 0); -+ gtk_binding_entry_add_signal(binding_set, GDK_KEY_x, GDK_CONTROL_MASK, "activate-cut", 0); -+ gtk_binding_entry_add_signal(binding_set, GDK_KEY_c, GDK_CONTROL_MASK, "activate-copy", 0); -+ gtk_binding_entry_add_signal(binding_set, GDK_KEY_v, GDK_CONTROL_MASK, "activate-paste", 0); - - /* cut/copy/paste shortcuts taken from gtkentry.c */ -- gtk_binding_entry_add_signal(binding_set, GDK_Delete, GDK_SHIFT_MASK, "activate-cut", 0); -- gtk_binding_entry_add_signal(binding_set, GDK_Insert, GDK_CONTROL_MASK, "activate-copy", 0); -- gtk_binding_entry_add_signal(binding_set, GDK_Insert, GDK_SHIFT_MASK, "activate-paste", 0); -+ gtk_binding_entry_add_signal(binding_set, GDK_KEY_Delete, GDK_SHIFT_MASK, "activate-cut", 0); -+ gtk_binding_entry_add_signal(binding_set, GDK_KEY_Insert, GDK_CONTROL_MASK, "activate-copy", 0); -+ gtk_binding_entry_add_signal(binding_set, GDK_KEY_Insert, GDK_SHIFT_MASK, "activate-paste", 0); - - /* HIG 2.0 properties */ -- gtk_binding_entry_add_signal(binding_set, GDK_Return, GDK_MOD1_MASK, "activate-properties", 0); -- gtk_binding_entry_add_signal(binding_set, GDK_ISO_Enter, GDK_MOD1_MASK, "activate-properties", 0); -- gtk_binding_entry_add_signal(binding_set, GDK_KP_Enter, GDK_MOD1_MASK, "activate-properties", 0); -+ gtk_binding_entry_add_signal(binding_set, GDK_KEY_Return, GDK_MOD1_MASK, "activate-properties", 0); -+ gtk_binding_entry_add_signal(binding_set, GDK_KEY_ISO_Enter, GDK_MOD1_MASK, "activate-properties", 0); -+ gtk_binding_entry_add_signal(binding_set, GDK_KEY_KP_Enter, GDK_MOD1_MASK, "activate-properties", 0); - - #line 434 "mn-mailbox-view.c" - } -@@ -934,14 +934,13 @@ - #line 183 "src/mn-mailbox-view.gob" - - GtkSelectionData *data; -- - data = gtk_clipboard_wait_for_contents(global_clipboard, clipboard_info[TARGET_MAILBOXES].atom); - if (data) - { - GSList *configurations; - GSList *l; - -- memcpy(&configurations, data->data, data->length); -+ memcpy(&configurations, gtk_selection_data_get_data(data), gtk_selection_data_get_length(data)); - - MN_LIST_FOREACH(l, configurations) - { -@@ -962,14 +961,14 @@ - data = gtk_clipboard_wait_for_contents(global_clipboard, clipboard_info[TARGET_GNOME_COPIED_FILES].atom); - if (data) - { -- if (data->format == 8 && data->length > 0) -+ if (gtk_selection_data_get_format(data) == 8 && gtk_selection_data_get_length(data) > 0) - { - char *gnome_copied_files; - gboolean status; - MNGnomeCopiedFilesType type; - GSList *uri_list; - -- gnome_copied_files = g_strndup(data->data, data->length); -+ gnome_copied_files = g_strndup(gtk_selection_data_get_data(data), gtk_selection_data_get_length(data)); - status = mn_parse_gnome_copied_files(gnome_copied_files, &type, &uri_list); - g_free(gnome_copied_files); - ---- build/src/mn-shell.c.orig 2011-02-07 23:02:17.852293679 +0100 -+++ build/src/mn-shell.c 2011-02-07 23:04:39.223548403 +0100 -@@ -158,7 +158,7 @@ - static void mn_shell_icon_activate_about_h (MNMailIcon * icon, gpointer user_data); - #line 160 "mn-shell.c" - #line 499 "src/mn-shell.gob" --static void mn_shell_icon_destroy_h (GtkObject * object, gpointer user_data); -+static void mn_shell_icon_destroy_h (GtkWidget * object, gpointer user_data); - #line 163 "mn-shell.c" - #line 508 "src/mn-shell.gob" - static void mn_shell_update_sensitivity (MNShell * self); -@@ -1006,7 +1006,7 @@ - - #line 499 "src/mn-shell.gob" - static void --mn_shell_icon_destroy_h (GtkObject * object, gpointer user_data) -+mn_shell_icon_destroy_h (GtkWidget * object, gpointer user_data) - { - #line 1004 "mn-shell.c" - #define __GOB_FUNCTION__ "MN:Shell::icon_destroy_h" ---- build/src/mn-text-table.c.orig 2011-02-07 23:05:08.799927792 +0100 -+++ build/src/mn-text-table.c 2011-02-07 23:18:06.480056895 +0100 -@@ -69,9 +69,11 @@ - #line 70 "mn-text-table.c" - #line 104 "src/mn-text-table.gob" - static void ___4_mn_text_table_size_request (GtkWidget * widget, GtkRequisition * requisition); -+static void mn_text_table_get_preferred_width (GtkWidget * widget, gint * minimal_width, gint * natural_width); -+static void mn_text_table_get_preferred_height (GtkWidget * widget, gint * minimal_height, gint * natural_height); - #line 73 "mn-text-table.c" - #line 115 "src/mn-text-table.gob" --static gboolean ___5_mn_text_table_expose_event (GtkWidget * widget, GdkEventExpose * event); -+static gboolean ___5_mn_text_table_draw (GtkWidget * widget, cairo_t *cr); - #line 76 "mn-text-table.c" - #line 165 "src/mn-text-table.gob" - static void mn_text_table_set_dirty (MNTextTable * self); -@@ -188,9 +190,10 @@ - parent_class = g_type_class_ref (GTK_TYPE_WIDGET); - - #line 104 "src/mn-text-table.gob" -- gtk_widget_class->size_request = ___4_mn_text_table_size_request; -+ gtk_widget_class->get_preferred_width = mn_text_table_get_preferred_width; -+ gtk_widget_class->get_preferred_height = mn_text_table_get_preferred_height; - #line 115 "src/mn-text-table.gob" -- gtk_widget_class->expose_event = ___5_mn_text_table_expose_event; -+ gtk_widget_class->draw = ___5_mn_text_table_draw; - #line 257 "src/mn-text-table.gob" - c->clear = ___real_mn_text_table_clear; - #line 197 "mn-text-table.c" -@@ -216,7 +219,7 @@ - { - #line 80 "src/mn-text-table.gob" - -- GTK_WIDGET_SET_FLAGS(self, GTK_NO_WINDOW); -+ gtk_widget_set_has_window(GTK_WIDGET(self), FALSE); - - g_object_connect(self, - "swapped-signal::style-set", self_context_changed, self, -@@ -290,9 +293,29 @@ - #undef __GOB_FUNCTION__ - #undef PARENT_HANDLER - -+static void -+mn_text_table_get_preferred_width (GtkWidget * widget, gint * minimal_width, gint * natural_width) -+{ -+ GtkRequisition requisition; -+ -+ ___4_mn_text_table_size_request (widget, &requisition); -+ -+ *minimal_width = *natural_width = requisition.width; -+} -+ -+static void -+mn_text_table_get_preferred_height (GtkWidget * widget, gint * minimal_height, gint * natural_height) -+{ -+ GtkRequisition requisition; -+ -+ ___4_mn_text_table_size_request (widget, &requisition); -+ -+ *minimal_height = *natural_height = requisition.height; -+} -+ - #line 115 "src/mn-text-table.gob" - static gboolean --___5_mn_text_table_expose_event (GtkWidget * widget G_GNUC_UNUSED, GdkEventExpose * event) -+___5_mn_text_table_draw (GtkWidget * widget G_GNUC_UNUSED, cairo_t *cr) - #line 297 "mn-text-table.c" - #define PARENT_HANDLER(___widget,___event) \ - ((GTK_WIDGET_CLASS(parent_class)->expose_event)? \ -@@ -304,10 +327,14 @@ - #line 117 "src/mn-text-table.gob" - - Self *self = SELF(widget); -+ GtkAllocation allocation; - int i; -- int y = widget->allocation.y; -+ int y; -+ -+ gtk_widget_get_allocation(widget, &allocation); -+ y = 0; - -- if (! GTK_WIDGET_DRAWABLE(widget)) -+ if (! gtk_widget_is_drawable(widget)) - return FALSE; - - self_relayout(self); -@@ -316,7 +343,7 @@ - { - Row *row = g_ptr_array_index(selfp->rows, i); - int j; -- int x = widget->allocation.x; -+ int x = 0; - int column = 0; - - MN_ARRAY_FOREACH(j, row->cells) -@@ -324,11 +351,10 @@ - MNTextTableCell *cell = g_ptr_array_index(row->cells, j); - - if (cell->layout) -- gtk_paint_layout(widget->style, -- widget->window, -- GTK_WIDGET_STATE(widget), -+ gtk_paint_layout(gtk_widget_get_style(widget), -+ cr, -+ gtk_widget_get_state_flags(widget), - FALSE, -- &event->area, - widget, - NULL, - x, ---- build/src/mn-tooltips.c.orig 2011-02-07 23:19:05.903761972 +0100 -+++ build/src/mn-tooltips.c 2011-02-07 23:41:19.368621912 +0100 -@@ -104,7 +104,7 @@ - static void mn_tooltips_set_tip_widget_real (MNTooltips * self, GtkWidget * widget, GtkWidget * tip_widget, int border_width); - #line 106 "mn-tooltips.c" - #line 287 "src/mn-tooltips.gob" --static gboolean mn_tooltips_paint_window (MNTooltips * self); -+static gboolean mn_tooltips_paint_window (MNTooltips * self, cairo_t *cr); - #line 109 "mn-tooltips.c" - #line 308 "src/mn-tooltips.gob" - static void mn_tooltips_draw_tips (MNTooltips * self); -@@ -422,7 +422,13 @@ - - if (! selfp->window) - { -+ GtkStyleContext *ctx; -+ - selfp->window = gtk_window_new(GTK_WINDOW_POPUP); -+ -+ ctx = gtk_widget_get_style_context(GTK_WIDGET(selfp->window)); -+ gtk_style_context_add_class(ctx, "tooltip"); -+ - self_update_screen(self, TRUE); - gtk_widget_set_app_paintable(selfp->window, TRUE); - gtk_window_set_resizable(GTK_WINDOW(selfp->window), FALSE); -@@ -430,7 +430,7 @@ - gtk_container_set_border_width(GTK_CONTAINER(selfp->window), selfp->border_width); - - g_signal_connect_swapped(selfp->window, -- "expose-event", -+ "draw", - G_CALLBACK(self_paint_window), - self); - -@@ -490,7 +490,7 @@ - - if (selfp->active_data - && selfp->active_data->widget == widget -- && GTK_WIDGET_DRAWABLE(selfp->active_data->widget)) -+ && gtk_widget_is_drawable(selfp->active_data->widget)) - { - if (data->tip_widget) - g_object_unref(data->tip_widget); -@@ -594,7 +594,7 @@ - - #line 287 "src/mn-tooltips.gob" - static gboolean --mn_tooltips_paint_window (MNTooltips * self) -+mn_tooltips_paint_window (MNTooltips * self, cairo_t *cr) - { - #line 600 "mn-tooltips.c" - #define __GOB_FUNCTION__ "MN:Tooltips::paint_window" -@@ -608,18 +608,13 @@ - - GtkRequisition req; - -- gtk_widget_size_request(selfp->window, &req); -- gtk_paint_flat_box(selfp->window->style, -- selfp->window->window, -- GTK_STATE_NORMAL, -- GTK_SHADOW_OUT, -- NULL, -- selfp->window, -- "tooltip", -- 0, -- 0, -- req.width, -- req.height); -+ gtk_widget_size_request(GTK_WIDGET(selfp->window), &req); -+ gtk_render_background(gtk_widget_get_style_context(GTK_WIDGET(selfp->window)), -+ cr, -+ 0, -+ 0, -+ req.width, -+ req.height); - - return FALSE; - }} -@@ -651,10 +650,11 @@ - gint monitor_num, px, py; - GdkRectangle monitor; - int screen_width; -+ GtkAllocation allocation; - - if (! selfp->window) - self_force_window(self); -- else if (GTK_WIDGET_VISIBLE(selfp->window)) -+ else if (gtk_widget_get_visible(selfp->window)) - g_get_current_time(&selfp->last_popdown); - - gtk_widget_ensure_style(selfp->window); -@@ -670,7 +670,7 @@ - - data = selfp->active_data; - -- child = GTK_BIN(selfp->window)->child; -+ child = gtk_bin_get_child(GTK_BIN(selfp->window)); - if (child) - gtk_container_remove(GTK_CONTAINER(selfp->window), child); - -@@ -684,14 +684,16 @@ - w = requisition.width; - h = requisition.height; - -- gdk_window_get_origin(widget->window, &x, &y); -- if (GTK_WIDGET_NO_WINDOW(widget)) -+ gtk_widget_get_allocation(selfp->window, &allocation); -+ -+ gdk_window_get_origin(gtk_widget_get_window(widget), &x, &y); -+ if (! gtk_widget_get_has_window(widget)) - { -- x += widget->allocation.x; -- y += widget->allocation.y; -+ x += allocation.x; -+ y += allocation.y; - } - -- x += widget->allocation.width / 2; -+ x += allocation.width / 2; - - if (! keyboard_mode) - gdk_window_get_pointer(gdk_screen_get_root_window(screen), &x, NULL, NULL); -@@ -712,11 +714,11 @@ - else if (x < monitor.x) - x = monitor.x; - -- if ((y + h + widget->allocation.height + 4) > monitor.y + monitor.height -+ if ((y + h + allocation.height + 4) > monitor.y + monitor.height - && (y - 4) > monitor.y) - y = y - h - 4; - else -- y = y + widget->allocation.height + 4; -+ y = y + allocation.height + 4; - - /* - * The following block is not part of GTK+ and has been added to -@@ -760,7 +762,7 @@ - - Self *self = SELF(data); - -- if (selfp->active_data && GTK_WIDGET_DRAWABLE(selfp->active_data->widget)) -+ if (selfp->active_data && gtk_widget_is_drawable(selfp->active_data->widget)) - self_draw_tips(self); - - selfp->timeout_id = 0; -@@ -785,7 +787,7 @@ - - if (selfp->window) - { -- if (GTK_WIDGET_VISIBLE(selfp->window)) -+ if (gtk_widget_get_visible(selfp->window)) - g_get_current_time(&selfp->last_popdown); - gtk_widget_hide(selfp->window); - } -@@ -802,7 +804,7 @@ - { - TooltipsData *data = l->data; - -- if (data->widget == widget && GTK_WIDGET_DRAWABLE(widget)) -+ if (data->widget == widget && gtk_widget_is_drawable(widget)) - { - selfp->active_data = data; - break; -@@ -937,7 +939,7 @@ - - if (GTK_IS_WINDOW(toplevel)) - { -- GtkWidget *focus = GTK_WINDOW(toplevel)->focus_widget; -+ GtkWidget *focus = gtk_window_get_focus(GTK_WINDOW(toplevel)); - - g_object_set_data(G_OBJECT(toplevel), TOOLTIPS_KEYBOARD_MODE, GINT_TO_POINTER(TRUE)); - -@@ -966,7 +968,7 @@ - - if (GTK_IS_WINDOW(toplevel)) - { -- GtkWidget *focus = GTK_WINDOW(toplevel)->focus_widget; -+ GtkWidget *focus = gtk_window_get_focus(GTK_WINDOW(toplevel)); - - if (focus) - self_hide_tip(focus); -@@ -1057,24 +1059,24 @@ - break; - - case GDK_ENTER_NOTIFY: -- if (! (GTK_IS_MENU_ITEM(widget) && GTK_MENU_ITEM(widget)->submenu)) -+ if (! (GTK_IS_MENU_ITEM(widget) && gtk_menu_item_get_submenu(GTK_MENU_ITEM(widget)))) - self_start_delay(self, widget); - break; - - case GDK_LEAVE_NOTIFY: - self_set_active_widget(self, NULL); -- selfp->use_sticky_delay = selfp->window && GTK_WIDGET_VISIBLE(selfp->window); -+ selfp->use_sticky_delay = selfp->window && gtk_widget_get_visible(selfp->window); - break; - - case GDK_MOTION_NOTIFY: - /* Handle menu items specially ... pend popup for each motion - * on other widgets, we ignore motion. - */ -- if (GTK_IS_MENU_ITEM(widget) && ! GTK_MENU_ITEM(widget)->submenu) -+ if (GTK_IS_MENU_ITEM(widget) && ! gtk_menu_item_get_submenu(GTK_MENU_ITEM(widget))) - { - /* Completely evil hack to make sure we get the LEAVE_NOTIFY - */ -- GTK_PRIVATE_SET_FLAG(widget, GTK_LEAVE_PENDING); -+ //GTK_PRIVATE_SET_FLAG(widget, GTK_LEAVE_PENDING); - self_set_active_widget(self, NULL); - self_start_delay(self, widget); - break; ---- src/nautilus-cell-renderer-pixbuf-emblem.c.orig 2011-02-08 00:16:43.847831409 +0100 -+++ src/nautilus-cell-renderer-pixbuf-emblem.c 2011-02-08 00:32:59.128682767 +0100 -@@ -39,17 +39,16 @@ - GtkWidget *widget); - static void nautilus_cell_renderer_pixbuf_emblem_get_size (GtkCellRenderer *cell, - GtkWidget *widget, -- GdkRectangle *rectangle, -+ const GdkRectangle *rectangle, - gint *x_offset, - gint *y_offset, - gint *width, - gint *height); - static void nautilus_cell_renderer_pixbuf_emblem_render (GtkCellRenderer *cell, -- GdkWindow *window, -+ cairo_t *cr, - GtkWidget *widget, -- GdkRectangle *background_area, -- GdkRectangle *cell_area, -- GdkRectangle *expose_area, -+ const GdkRectangle *background_area, -+ const GdkRectangle *cell_area, - GtkCellRendererState flags); - - enum { -@@ -356,7 +355,7 @@ - static void - nautilus_cell_renderer_pixbuf_emblem_get_size (GtkCellRenderer *cell, - GtkWidget *widget, -- GdkRectangle *cell_area, -+ const GdkRectangle *cell_area, - gint *x_offset, - gint *y_offset, - gint *width, -@@ -368,6 +367,10 @@ - gint pixbuf_height = 0; - gint calc_width; - gint calc_height; -+ int xpad; -+ int ypad; -+ gfloat xalign; -+ gfloat yalign; - - if (!cellpixbuf->pixbuf && cellinfo->stock_id) - nautilus_cell_renderer_pixbuf_emblem_create_stock_pixbuf (cellpixbuf, widget); -@@ -385,8 +388,11 @@ - pixbuf_height = MAX (pixbuf_height, gdk_pixbuf_get_height (cellpixbuf->pixbuf_expander_closed)); - } - -- calc_width = (gint) cell->xpad * 2 + pixbuf_width; -- calc_height = (gint) cell->ypad * 2 + pixbuf_height; -+ gtk_cell_renderer_get_padding(cell, &xpad, &ypad); -+ gtk_cell_renderer_get_alignment(cell, &xalign, &yalign); -+ -+ calc_width = (gint) xpad * 2 + pixbuf_width; -+ calc_height = (gint) ypad * 2 + pixbuf_height; - - if (x_offset) *x_offset = 0; - if (y_offset) *y_offset = 0; -@@ -394,14 +400,14 @@ - if (cell_area && pixbuf_width > 0 && pixbuf_height > 0) { - if (x_offset) { - *x_offset = (((gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) ? -- 1.0 - cell->xalign : cell->xalign) * -- (cell_area->width - calc_width - 2 * cell->xpad)); -- *x_offset = MAX (*x_offset, 0) + cell->xpad; -+ 1.0 - xalign : xalign) * -+ (cell_area->width - calc_width - 2 * xpad)); -+ *x_offset = MAX (*x_offset, 0) + xpad; - } - if (y_offset) { -- *y_offset = (cell->yalign * -- (cell_area->height - calc_height - 2 * cell->ypad)); -- *y_offset = MAX (*y_offset, 0) + cell->ypad; -+ *y_offset = (yalign * -+ (cell_area->height - calc_height - 2 * ypad)); -+ *y_offset = MAX (*y_offset, 0) + ypad; - } - } - -@@ -414,11 +420,10 @@ - - static void - nautilus_cell_renderer_pixbuf_emblem_render (GtkCellRenderer *cell, -- GdkWindow *window, -+ cairo_t *cr, - GtkWidget *widget, -- GdkRectangle *background_area, -- GdkRectangle *cell_area, -- GdkRectangle *expose_area, -+ const GdkRectangle *background_area, -+ const GdkRectangle *cell_area, - GtkCellRendererState flags) - - { -@@ -429,13 +434,19 @@ - GdkRectangle pix_emblem_rect; - GdkRectangle draw_rect; - gboolean stock_pixbuf = FALSE; -+ gboolean is_expander = FALSE; -+ gboolean is_expanded = FALSE; -+ int xpad; -+ int ypad; -+ -+ g_object_get(cell, "is-expander", &is_expander, "is-expanded", &is_expanded, NULL); - - pixbuf = cellpixbuf->pixbuf; -- if (cell->is_expander) { -- if (cell->is_expanded && -+ if (is_expander) { -+ if (is_expanded && - cellpixbuf->pixbuf_expander_open != NULL) { - pixbuf = cellpixbuf->pixbuf_expander_open; -- } else if (!cell->is_expanded && -+ } else if (!is_expanded && - cellpixbuf->pixbuf_expander_closed != NULL) { - pixbuf = cellpixbuf->pixbuf_expander_closed; - } -@@ -456,15 +467,20 @@ - if (stock_pixbuf) - pixbuf = cellpixbuf->pixbuf; - -+ gtk_cell_renderer_get_padding(cell, &xpad, &ypad); -+ - pix_rect.x += cell_area->x; - pix_rect.y += cell_area->y; -- pix_rect.width -= cell->xpad * 2; -- pix_rect.height -= cell->ypad * 2; -+ pix_rect.width -= xpad * 2; -+ pix_rect.height -= ypad * 2; - -+ if (gdk_rectangle_intersect (cell_area, &pix_rect, &draw_rect)) { -+#if 0 - if (gdk_rectangle_intersect (cell_area, &pix_rect, &draw_rect) && - gdk_rectangle_intersect (expose_area, &draw_rect, &draw_rect)) { -+ - gdk_draw_pixbuf (window, -- widget->style->black_gc, -+ gtk_widget_get_style(widget)->black_gc, - pixbuf, - /* pixbuf 0, 0 is at pix_rect.x, pix_rect.y */ - draw_rect.x - pix_rect.x, -@@ -475,6 +491,11 @@ - draw_rect.height, - GDK_RGB_DITHER_NORMAL, - 0, 0); -+#endif -+ -+ cairo_move_to (cr, draw_rect.x - pix_rect.x, draw_rect.y - pix_rect.y); -+ gdk_cairo_set_source_pixbuf (cr, pixbuf, draw_rect.x, draw_rect.y); -+ cairo_paint (cr); - } - - if (cellpixbuf->pixbuf_emblem) { -@@ -482,8 +503,11 @@ - pix_emblem_rect.height = gdk_pixbuf_get_height (cellpixbuf->pixbuf_emblem); - pix_emblem_rect.x = pix_rect.x; - pix_emblem_rect.y = pix_rect.y + pix_rect.height - pix_emblem_rect.height; -+ if (gdk_rectangle_intersect (cell_area, &pix_emblem_rect, &draw_rect)) { -+#if 0 - if (gdk_rectangle_intersect (cell_area, &pix_emblem_rect, &draw_rect) && - gdk_rectangle_intersect (expose_area, &draw_rect, &draw_rect)) { -+ - gdk_draw_pixbuf (window, - widget->style->black_gc, - cellpixbuf->pixbuf_emblem, -@@ -496,6 +520,11 @@ - draw_rect.height, - GDK_RGB_DITHER_NORMAL, - 0, 0); -+#endif -+ -+ cairo_move_to (cr, draw_rect.x - pix_emblem_rect.x, draw_rect.y - pix_emblem_rect.y); -+ gdk_cairo_set_source_pixbuf (cr, cellpixbuf->pixbuf_emblem, draw_rect.x, draw_rect.y); -+ cairo_paint (cr); - } - } - } ---- src/nautilus-cell-renderer-pixbuf-emblem.h.orig 2011-02-07 22:18:12.336471764 +0100 -+++ src/nautilus-cell-renderer-pixbuf-emblem.h 2011-02-08 00:20:30.461758697 +0100 -@@ -25,18 +25,18 @@ - #ifndef NAUTILUS_CELL_RENDERER_PIXBUF_EMBLEM_H - #define NAUTILUS_CELL_RENDERER_PIXBUF_EMBLEM_H - --#include <gtk/gtkcellrenderer.h> -+#include <gtk/gtk.h> - - #define NAUTILUS_TYPE_CELL_RENDERER_PIXBUF_EMBLEM \ - (nautilus_cell_renderer_pixbuf_emblem_get_type ()) - #define NAUTILUS_CELL_RENDERER_PIXBUF_EMBLEM(obj) \ -- (GTK_CHECK_CAST ((obj), NAUTILUS_TYPE_CELL_RENDERER_PIXBUF_EMBLEM, NautilusCellRendererPixbufEmblem)) -+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), NAUTILUS_TYPE_CELL_RENDERER_PIXBUF_EMBLEM, NautilusCellRendererPixbufEmblem)) - #define NAUTILUS_CELL_RENDERER_PIXBUF_EMBLEM_CLASS(klass) \ -- (GTK_CHECK_CLASS_CAST ((klass), NAUTILUS_TYPE_CELL_RENDERER_PIXBUF_EMBLEM, NautilusCellRendererPixbufEmblemClass)) -+ (G_TYPE_CHECK_CLASS_CAST ((klass), NAUTILUS_TYPE_CELL_RENDERER_PIXBUF_EMBLEM, NautilusCellRendererPixbufEmblemClass)) - #define NAUTILUS_IS_CELL_RENDERER_PIXBUF_EMBLEM(obj) \ -- (GTK_CHECK_TYPE ((obj), NAUTILUS_TYPE_CELL_RENDERER_PIXBUF_EMBLEM)) -+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NAUTILUS_TYPE_CELL_RENDERER_PIXBUF_EMBLEM)) - #define NAUTILUS_IS_CELL_RENDERER_PIXBUF_EMBLEM_CLASS(klass) \ -- (GTK_CHECK_CLASS_TYPE ((klass), NAUTILUS_TYPE_CELL_RENDERER_PIXBUF_EMBLEM)) -+ (G_TYPE_CHECK_CLASS_TYPE ((klass), NAUTILUS_TYPE_CELL_RENDERER_PIXBUF_EMBLEM)) - - typedef struct _NautilusCellRendererPixbufEmblem NautilusCellRendererPixbufEmblem; - typedef struct _NautilusCellRendererPixbufEmblemClass NautilusCellRendererPixbufEmblemClass; ---- build/src/mn-authenticated-mailbox.c.orig 2011-02-08 00:34:16.332610802 +0100 -+++ build/src/mn-authenticated-mailbox.c 2011-02-08 00:36:23.706936717 +0100 -@@ -25,7 +25,7 @@ - #line 29 "src/mn-authenticated-mailbox.gob" - - #include <glib/gi18n.h> --#include <gnome.h> -+#include <libgnome/libgnome.h> - #include "mn-mailbox-private.h" - #include "mn-shell.h" - #include "mn-util.h" -@@ -859,6 +859,7 @@ - - /* keep the title in sync with gnome-authentication-manager */ - -+#if 0 - /* translators: header capitalization */ - selfp->auth_dialog = gnome_password_dialog_new(_("Authentication Required"), - message, -@@ -891,6 +892,9 @@ - gtk_widget_destroy(selfp->auth_dialog); - - return ok; -+#else -+ return FALSE; -+#endif - }} - #line 896 "mn-authenticated-mailbox.c" - #undef __GOB_FUNCTION__ ---- build/src/mn-about-dialog.c.orig 2011-02-08 22:20:54.469841262 +0100 -+++ build/src/mn-about-dialog.c 2011-02-08 22:21:13.309839037 +0100 -@@ -111,9 +111,11 @@ - { - #line 32 "src/mn-about-dialog.gob" - -+#if 0 - gtk_about_dialog_set_email_hook(self_activate_link_cb, "mailto:", NULL); - gtk_about_dialog_set_url_hook(self_activate_link_cb, NULL, NULL); -- -+#endif -+ - #line 118 "mn-about-dialog.c" - } - } ---- build/src/mn-autodetect-mailbox-properties.c.orig 2011-02-08 22:21:58.639427345 +0100 -+++ build/src/mn-autodetect-mailbox-properties.c 2011-02-08 22:22:43.564035901 +0100 -@@ -355,10 +355,9 @@ - - toplevel = gtk_widget_get_toplevel(GTK_WIDGET(button)); - /* translators: header capitalization */ -- selfp->chooser = gtk_file_chooser_dialog_new_with_backend(_("Select a File or Folder"), -+ selfp->chooser = gtk_file_chooser_dialog_new(_("Select a File or Folder"), - GTK_WINDOW(toplevel), - GTK_FILE_CHOOSER_ACTION_OPEN, -- "gnome-vfs", - GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, - GTK_STOCK_OPEN, 1, - NULL); ---- build/src/mn-pi-mailbox-properties.c.orig 2011-02-08 22:30:08.051375715 +0100 -+++ build/src/mn-pi-mailbox-properties.c 2011-02-08 22:30:21.398665261 +0100 -@@ -415,7 +415,7 @@ - int i; - - for (i = 0; i < MN_PI_MAILBOX_N_CONNECTION_TYPES; i++) -- gtk_widget_set_sensitive(self->port_spin[i], GTK_WIDGET_SENSITIVE(self->conn_radio[i]) && gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(self->conn_radio[i]))); -+ gtk_widget_set_sensitive(self->port_spin[i], gtk_widget_get_sensitive(self->conn_radio[i]) && gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(self->conn_radio[i]))); - - g_object_notify(G_OBJECT(self), "complete"); - }} ---- src/eggtrayicon.c.orig 2011-02-07 23:42:30.405791829 +0100 -+++ src/eggtrayicon.c 2011-02-08 23:06:16.092968325 +0100 -@@ -25,7 +25,7 @@ - - #include "eggtrayicon.h" - --#include <gdkconfig.h> -+#include <gdk/gdk.h> - #if defined (GDK_WINDOWING_X11) - #include <gdk/gdkx.h> - #include <X11/Xatom.h> -@@ -258,7 +258,7 @@ - { - GdkWindow *gdkwin; - -- gdkwin = gdk_window_lookup_for_display (gtk_widget_get_display (widget), -+ gdkwin = gdk_x11_window_lookup_for_display (gtk_widget_get_display (widget), - icon->manager_window); - - gdk_window_remove_filter (gdkwin, egg_tray_icon_manager_filter, icon); -@@ -290,7 +290,7 @@ - ev.window = window; - ev.message_type = icon->system_tray_opcode_atom; - ev.format = 32; -- ev.data.l[0] = gdk_x11_get_server_time (GTK_WIDGET (icon)->window); -+ ev.data.l[0] = gdk_x11_get_server_time (gtk_widget_get_window(GTK_WIDGET (icon))); - ev.data.l[1] = message; - ev.data.l[2] = data1; - ev.data.l[3] = data2; -@@ -342,12 +342,12 @@ - { - GdkWindow *gdkwin; - -- gdkwin = gdk_window_lookup_for_display (gtk_widget_get_display (GTK_WIDGET (icon)), -+ gdkwin = gdk_x11_window_lookup_for_display (gtk_widget_get_display (GTK_WIDGET (icon)), - icon->manager_window); - - gdk_window_add_filter (gdkwin, egg_tray_icon_manager_filter, icon); - -- if (dock_if_realized && GTK_WIDGET_REALIZED (icon)) -+ if (dock_if_realized && gtk_widget_get_realized (GTK_WIDGET(icon))) - egg_tray_icon_send_dock_request (icon); - - egg_tray_icon_get_orientation_property (icon); -@@ -355,10 +355,16 @@ - } - - static gboolean --transparent_expose_event (GtkWidget *widget, GdkEventExpose *event, gpointer user_data) -+transparent_draw (GtkWidget *widget, cairo_t *cr, gpointer user_data) - { -- gdk_window_clear_area (widget->window, event->area.x, event->area.y, -+#if 0 -+ gdk_window_clear_area (gtk_widget_get_window(widget), event->area.x, event->area.y, - event->area.width, event->area.height); -+#endif -+ cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR); -+ //gdk_cairo_region (cr, event->region); -+ cairo_fill (cr); -+ - return FALSE; - } - -@@ -366,20 +372,20 @@ - make_transparent_again (GtkWidget *widget, GtkStyle *previous_style, - gpointer user_data) - { -- gdk_window_set_back_pixmap (widget->window, NULL, TRUE); -+ //gdk_window_set_back_pixmap (gtk_widget_get_window(widget), NULL, TRUE); - } - - static void - make_transparent (GtkWidget *widget, gpointer user_data) - { -- if (GTK_WIDGET_NO_WINDOW (widget) || GTK_WIDGET_APP_PAINTABLE (widget)) -+ if (! gtk_widget_get_has_window (widget) || gtk_widget_get_app_paintable (widget)) - return; - - gtk_widget_set_app_paintable (widget, TRUE); - gtk_widget_set_double_buffered (widget, FALSE); -- gdk_window_set_back_pixmap (widget->window, NULL, TRUE); -- g_signal_connect (widget, "expose_event", -- G_CALLBACK (transparent_expose_event), NULL); -+ //gdk_window_set_back_pixmap (gtk_widget_get_window(widget), NULL, TRUE); -+ g_signal_connect (widget, "draw", -+ G_CALLBACK (transparent_draw), NULL); - g_signal_connect_after (widget, "style_set", - G_CALLBACK (make_transparent_again), NULL); - } -@@ -391,7 +397,7 @@ - - g_return_if_fail (icon->manager_window != None); - -- gdkwin = gdk_window_lookup_for_display (gtk_widget_get_display (GTK_WIDGET (icon)), -+ gdkwin = gdk_x11_window_lookup_for_display (gtk_widget_get_display (GTK_WIDGET (icon)), - icon->manager_window); - - gdk_window_remove_filter (gdkwin, egg_tray_icon_manager_filter, icon); ---- build/src/mn-properties-dialog.c.orig 2011-02-08 23:37:12.605200174 +0100 -+++ build/src/mn-properties-dialog.c 2011-02-08 23:37:18.601881191 +0100 -@@ -183,7 +183,7 @@ - GtkTreeSelection *selection; - - mn_container_create_interface(GTK_CONTAINER(self), -- PKGDATADIR G_DIR_SEPARATOR_S "properties-dialog.glade", -+ PKGDATADIR G_DIR_SEPARATOR_S "properties-dialog.ui", - "main_vbox", - "mn_properties_dialog_", - "notebook", &selfp->notebook, ---- src/mn-util.c.orig 2011-02-08 00:01:25.167207512 +0100 -+++ src/mn-util.c 2011-02-09 00:01:35.718285446 +0100 -@@ -26,8 +26,7 @@ - #include <gmodule.h> - #include <glib/gi18n.h> - #include <gobject/gvaluecollector.h> --#include <gnome.h> --#include <glade/glade.h> -+#include <libgnome/libgnome.h> - #include "mn-util.h" - #include "mn-mailboxes.h" - #include "mn-shell.h" -@@ -303,49 +302,55 @@ - return pixbuf; - } - --static GladeXML * -+static GtkBuilder * - mn_glade_xml_new (const char *filename, const char *root, const char *domain) - { -- GladeXML *xml; -+ GtkBuilder *builder; -+ GError *err = NULL; - - g_return_val_if_fail(filename != NULL, NULL); - -- xml = glade_xml_new(filename, root, domain); -- if (! xml) -- mn_show_fatal_error_dialog(NULL, "Unable to load interface \"%s\".", filename); -+ builder = gtk_builder_new(); -+ gtk_builder_set_translation_domain(builder, domain); -+ if (! gtk_builder_add_from_file(builder, filename, &err)) { -+ mn_show_fatal_error_dialog(NULL, "Unable to load interface \"%s\": %s.", filename, err->message); -+ g_error_free(err); -+ g_object_unref(builder); -+ return NULL; -+ } - -- return xml; -+ return builder; - } - - static GtkWidget * --mn_glade_xml_get_widget (GladeXML *xml, const char *widget_name) -+mn_glade_xml_get_widget (GtkBuilder *builder, const char *widget_name) - { - GtkWidget *widget; - -- g_return_val_if_fail(GLADE_IS_XML(xml), NULL); -+ g_return_val_if_fail(GTK_IS_BUILDER(builder), NULL); - g_return_val_if_fail(widget_name != NULL, NULL); - -- widget = glade_xml_get_widget(xml, widget_name); -+ widget = GTK_WIDGET(gtk_builder_get_object(builder, widget_name)); - if (! widget) -- mn_show_fatal_error_dialog(NULL, "Widget \"%s\" not found in interface \"%s\".", widget_name, xml->filename); -+ mn_show_fatal_error_dialog(NULL, "Widget \"%s\" not found in interface.", widget_name); - - return widget; - } - - static void --create_interface_connect_cb (const char *handler_name, -+create_interface_connect_cb (GtkBuilder *builder, - GObject *object, - const char *signal_name, -- const char *signal_data, -+ const char *handler_name, - GObject *connect_object, -- gboolean after, -+ GConnectFlags flags, - gpointer user_data) - { - static GModule *module = NULL; - ContainerCreateInterfaceConnectInfo *info = user_data; - char *cb_name; - GCallback cb; -- GConnectFlags flags; -+ GConnectFlags cflags; - - if (! module) - { -@@ -359,11 +364,9 @@ - mn_show_fatal_error_dialog(NULL, "Signal handler \"%s\" not found.", cb_name); - g_free(cb_name); - -- flags = G_CONNECT_SWAPPED; -- if (after) -- flags |= G_CONNECT_AFTER; -+ cflags = G_CONNECT_SWAPPED; - -- g_signal_connect_data(object, signal_name, cb, info->container, NULL, flags); -+ g_signal_connect_data(object, signal_name, cb, info->container, NULL, cflags); - } - - void -@@ -373,7 +376,7 @@ - const char *callback_prefix, - ...) - { -- GladeXML *xml; -+ GtkBuilder *xml; - GtkWidget *child; - ContainerCreateInterfaceConnectInfo info; - va_list args; -@@ -387,14 +390,16 @@ - xml = mn_glade_xml_new(filename, child_name, NULL); - child = mn_glade_xml_get_widget(xml, child_name); - -- if (GTK_IS_DIALOG(container)) -- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(container)->vbox), child, TRUE, TRUE, 0); -- else -+ if (GTK_IS_DIALOG(container)) { -+ gtk_widget_unparent(child); -+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(container))), child, TRUE, TRUE, 0); -+ } else { - gtk_container_add(container, child); -+ } - - info.container = container; - info.callback_prefix = callback_prefix; -- glade_xml_signal_autoconnect_full(xml, create_interface_connect_cb, &info); -+ gtk_builder_connect_signals_full(xml, create_interface_connect_cb, &info); - - va_start(args, callback_prefix); - -@@ -422,7 +427,7 @@ - - toplevel = gtk_widget_get_toplevel(widget); - -- return GTK_WIDGET_TOPLEVEL(toplevel) ? GTK_WINDOW(toplevel) : NULL; -+ return gtk_widget_get_toplevel(toplevel) ? GTK_WINDOW(toplevel) : NULL; - } - - static void -@@ -493,9 +498,11 @@ - gpointer user_data) - { - GtkAdjustment *adjustment; -+ GtkAllocation allocation; - -+ gtk_widget_get_allocation(widget, &allocation); - adjustment = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(widget)); -- gtk_adjustment_set_value(adjustment, (double) y / (widget->allocation.height - 2) * (adjustment->upper - adjustment->page_size)); -+ gtk_adjustment_set_value(adjustment, (double) y / (allocation.height - 2) * (gtk_adjustment_get_upper(adjustment) - gtk_adjustment_get_page_size(adjustment))); - - return TRUE; /* we're forcibly in a drop zone */ - } -@@ -562,7 +569,7 @@ - MNMailbox *mailbox; - - /* text/x-moz-url is encoded in UCS-2 but in format 8: broken */ -- if (selection_data->format != 8 || selection_data->length <= 0 || (selection_data->length % 2) != 0) -+ if (gtk_selection_data_get_format(selection_data) != 8 || gtk_selection_data_get_length(selection_data) <= 0 || (gtk_selection_data_get_length(selection_data) % 2) != 0) - { - mn_show_error_dialog(mn_widget_get_parent_window(widget), - _("A drag and drop error has occurred"), -@@ -570,8 +577,8 @@ - return; - } - -- char_data = (const guint16 *) selection_data->data; -- char_len = selection_data->length / 2; -+ char_data = (const guint16 *) gtk_selection_data_get_data(selection_data); -+ char_len = gtk_selection_data_get_length(selection_data) / 2; - - url = g_string_new(NULL); - for (i = 0; i < char_len && char_data[i] != '\n'; i++) -@@ -1322,7 +1329,7 @@ - } - - static void --dialog_run_nonmodal_destroy_h (GtkObject *object, gpointer user_data) -+dialog_run_nonmodal_destroy_h (GtkWidget *object, gpointer user_data) - { - RunNonmodalInfo *info = user_data; - -@@ -1375,7 +1382,7 @@ - - g_object_ref(dialog); - -- if (! GTK_WIDGET_VISIBLE(dialog)) -+ if (! gtk_widget_get_visible(dialog)) - gtk_widget_show(GTK_WIDGET(dialog)); - - g_object_connect(dialog, ---- src/mn-main.c.gtk3 2008-05-22 17:45:35.000000000 +0200 -+++ src/mn-main.c 2011-02-08 23:32:33.800030659 +0100 -@@ -21,7 +21,7 @@ - #include <stdlib.h> - #include <signal.h> - #include <glib/gi18n.h> --#include <gnome.h> -+#include <libgnome/libgnome.h> - #include <libgnomevfs/gnome-vfs.h> - #include <libnotify/notify.h> - #include <dbus/dbus-glib-lowlevel.h> -@@ -452,7 +452,7 @@ - - gnome_program_init(PACKAGE, - VERSION, -- LIBGNOMEUI_MODULE, -+ LIBGNOME_MODULE, - argc, - argv, - GNOME_PARAM_HUMAN_READABLE_NAME, _("Mail Notification"), -@@ -460,6 +460,8 @@ - GNOME_PARAM_GOPTION_CONTEXT, option_context, - NULL); - -+ gtk_init(&argc, &argv); -+ - if (arg_version) - { - print_version(); -@@ -497,7 +499,9 @@ - if (! gnome_vfs_init()) - mn_show_fatal_error_dialog(NULL, _("Unable to initialize the GnomeVFS library.")); - -+#if 0 - gnome_authentication_manager_init(); -+#endif - - /* must be called before init_gmime() */ - mn_conf_init(); ---- src/mn-conf.c.gtk3 2008-05-22 17:45:35.000000000 +0200 -+++ src/mn-conf.c 2011-02-07 20:07:01.630580132 +0100 -@@ -23,7 +23,7 @@ - #include <errno.h> - #include <stdarg.h> - #include <glib/gi18n.h> --#include <gnome.h> -+#include <libgnome/libgnome.h> - #include "mn-util.h" - #include "mn-conf.h" - #include "mn-shell.h" ---- data/mail-notification.desktop.in.orig 2011-07-08 13:46:52.327548264 +0200 -+++ data/mail-notification.desktop.in 2011-07-08 13:47:00.732704467 +0200 -@@ -5,7 +5,7 @@ - _Comment=Get notified when new mail arrives - Type=Application - Categories=GNOME;GTK;Network;Email; --Exec=mail-notification --sm-disable -+Exec=mail-notification - Terminal=false - StartupNotify=true - X-GNOME-DocPath=mail-notification/mail-notification.xml diff --git a/extra/mail-notification/mail-notification-5.4-icons.patch b/extra/mail-notification/mail-notification-5.4-icons.patch deleted file mode 100644 index 48d54742a..000000000 --- a/extra/mail-notification/mail-notification-5.4-icons.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff -Nrbu mail-notification-5.4/src/mn-stock.c mail-notification-5.4-OK/src/mn-stock.c ---- mail-notification-5.4/src/mn-stock.c 2008-05-22 19:45:35.000000000 +0400 -+++ mail-notification-5.4-OK/src/mn-stock.c 2010-05-24 19:36:03.000000000 +0400 -@@ -32,11 +32,11 @@ - const char *icon_name; - const char *source_stock_id; - } icons[] = { -- { MN_STOCK_MAIL, NULL, "stock_mail" }, -- { MN_STOCK_NO_MAIL, NULL, "stock_inbox" }, -- { MN_STOCK_LOCAL, NULL, "stock_folder" }, -- { MN_STOCK_REMOTE, NULL, "stock_internet" }, -- { MN_STOCK_UNKNOWN, NULL, "stock_unknown" }, -+ { MN_STOCK_MAIL, NULL, "mail-message-new" }, -+ { MN_STOCK_NO_MAIL, NULL, "mail-notification" }, -+ { MN_STOCK_LOCAL, NULL, "folder" }, -+ { MN_STOCK_REMOTE, NULL, "applications-internet" }, -+ { MN_STOCK_UNKNOWN, NULL, "dialog-question" }, - { MN_STOCK_ERROR, NULL, NULL, GTK_STOCK_DIALOG_ERROR }, - #if WITH_GMAIL - { MN_STOCK_GMAIL, PKGDATADIR G_DIR_SEPARATOR_S "gmail.png" }, -@@ -48,14 +48,14 @@ - { MN_STOCK_HOTMAIL, PKGDATADIR G_DIR_SEPARATOR_S "hotmail.png" }, - #endif - #if WITH_MBOX || WITH_MOZILLA || WITH_MH || WITH_MAILDIR || WITH_SYLPHEED -- { MN_STOCK_SYSTEM_MAILBOX, NULL, "system" }, -+ { MN_STOCK_SYSTEM_MAILBOX, NULL, "applications-system" }, - #endif - #if WITH_EVOLUTION - { MN_STOCK_EVOLUTION_MAILBOX, NULL, "evolution" }, - #endif -- { MN_STOCK_MAIL_READER, NULL, "stock_mail-handling" }, -- { MN_STOCK_OPEN_MESSAGE, NULL, "stock_mail-open" }, -- { MN_STOCK_CONSIDER_NEW_MAIL_AS_READ, NULL, "stock_mark" } -+ { MN_STOCK_MAIL_READER, NULL, "mail-unread" }, -+ { MN_STOCK_OPEN_MESSAGE, NULL, "mail-read" }, -+ { MN_STOCK_CONSIDER_NEW_MAIL_AS_READ, NULL, "mail-mark-read" } - }; - GtkIconFactory *factory; - GtkIconTheme *icon_theme; diff --git a/extra/mail-notification/mail-notification-5.4-kde-trayicon.patch b/extra/mail-notification/mail-notification-5.4-kde-trayicon.patch deleted file mode 100644 index a3bdc8372..000000000 --- a/extra/mail-notification/mail-notification-5.4-kde-trayicon.patch +++ /dev/null @@ -1,72 +0,0 @@ -diff -Nrbu mail-notification-5.4/build/src/mn-shell.c mail-notification-5.4-OK/build/src/mn-shell.c ---- mail-notification-5.4/build/src/mn-shell.c 2010-10-11 17:45:23.000000000 +0400 -+++ mail-notification-5.4-OK/build/src/mn-shell.c 2010-10-11 17:45:48.000000000 +0400 -@@ -313,6 +313,29 @@ - #undef __GOB_FUNCTION__ - - static void -+mn_shell_init_icon_base (MNShell * self) -+{ -+ g_return_if_fail (self != NULL); -+ g_return_if_fail (MN_IS_SHELL (self)); -+ -+ self->icon = MN_MAIL_ICON(mn_mail_icon_new()); -+ mn_add_weak_pointer(&self->icon); -+ -+ g_object_connect(self->icon, -+ "signal::activate", self_icon_activate_h, self, -+ "signal::activate-mail-reader", self_icon_activate_mail_reader_h, self, -+ "signal::activate-open-latest-message", self_icon_activate_open_latest_message_h, self, -+ "swapped-signal::activate-consider-new-mail-as-read", self_consider_new_mail_as_read, self, -+ "swapped-signal::activate-update", self_update, self, -+ "signal::activate-properties", self_icon_activate_properties_h, self, -+ "signal::activate-help", self_icon_activate_help_h, self, -+ "signal::activate-about", self_icon_activate_about_h, self, -+ "swapped-signal::activate-remove", self_quit, self, -+ "signal::destroy", self_icon_destroy_h, self, -+ NULL); -+} -+ -+static void - mn_shell_init (MNShell * o G_GNUC_UNUSED) - { - #define __GOB_FUNCTION__ "MN:Shell::init" -@@ -793,22 +816,7 @@ - { - #line 360 "src/mn-shell.gob" - -- self->icon = MN_MAIL_ICON(mn_mail_icon_new()); -- mn_add_weak_pointer(&self->icon); -- -- g_object_connect(self->icon, -- "signal::activate", self_icon_activate_h, self, -- "signal::activate-mail-reader", self_icon_activate_mail_reader_h, self, -- "signal::activate-open-latest-message", self_icon_activate_open_latest_message_h, self, -- "swapped-signal::activate-consider-new-mail-as-read", self_consider_new_mail_as_read, self, -- "swapped-signal::activate-update", self_update, self, -- "signal::activate-properties", self_icon_activate_properties_h, self, -- "signal::activate-help", self_icon_activate_help_h, self, -- "signal::activate-about", self_icon_activate_about_h, self, -- "swapped-signal::activate-remove", self_quit, self, -- "signal::destroy", self_icon_destroy_h, self, -- NULL); -- -+ mn_shell_init_icon_base(self); - self_update_sensitivity(self); - self_update_tooltip(self); - self_update_icon(self); -@@ -1094,7 +1102,13 @@ - } - else - { -- gtk_widget_hide(GTK_WIDGET(self->icon)); -+ /* Re-create the icon as a regular gtk_widget_hide causes the -+ * icon to remain visible on non-GNOME environments. We can't -+ * use the callback self_icon_destroy_h here as it can cause an -+ * endless recursion */ -+ g_signal_handlers_disconnect_by_func(self->icon, self_icon_destroy_h, self); -+ gtk_widget_destroy(GTK_WIDGET(self->icon)); -+ mn_shell_init_icon_base(self); - mn_mail_icon_set_blinking(self->icon, FALSE); - } - }} diff --git a/extra/mail-notification/mail-notification-5.4-libx11.patch b/extra/mail-notification/mail-notification-5.4-libx11.patch deleted file mode 100644 index bb3574fda..000000000 --- a/extra/mail-notification/mail-notification-5.4-libx11.patch +++ /dev/null @@ -1,13 +0,0 @@ -Link with libX11 explicitly. - ---- mail-notification-5.4.dfsg.1.orig/jbsrc/jb.c -+++ mail-notification-5.4.dfsg.1/jbsrc/jb.c -@@ -445,6 +445,8 @@ - - jb_compile_options_add_libs(object->compile_options, "-lm"); - -+ jb_compile_options_add_libs(object->compile_options, "-lX11"); -+ - jb_compile_options_add_package(object->compile_options, "gettext"); - jb_compile_options_add_package(object->compile_options, "gnome"); - jb_compile_options_add_package(object->compile_options, "dbus"); diff --git a/extra/mail-notification/mail-notification-5.4-popup-attach.patch b/extra/mail-notification/mail-notification-5.4-popup-attach.patch deleted file mode 100644 index b8d5f6a09..000000000 --- a/extra/mail-notification/mail-notification-5.4-popup-attach.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff -Nrbu mail-notification-5.4/build/src/mn-popup.c mail-notification-5.4-OK/build/src/mn-popup.c ---- mail-notification-5.4/build/src/mn-popup.c 2008-05-22 19:47:49.000000000 +0400 -+++ mail-notification-5.4-OK/build/src/mn-popup.c 2010-10-11 17:42:32.000000000 +0400 -@@ -177,6 +177,29 @@ - #undef __GOB_FUNCTION__ - - static void -+mn_popup_wait_for_icon_to_become_ready (void) -+{ -+ int x, y; -+ int count = 0; -+ -+ /* When the tray icon is created, it can still take some time before -+ * it has arrived at the correct position. This is especially the case -+ * on KDE environments. To work around this, add a little delay of at -+ * most 2 seconds before showing a popup which is attached to the notification */ -+ do { -+ gdk_window_get_origin (gtk_widget_get_window (mn_shell->icon), &x, &y); -+ -+ if (x != 0 || y != 0) { -+ break; -+ } -+ -+ g_usleep(G_USEC_PER_SEC / 10); -+ count++; -+ } while (count < 20); -+} -+ -+ -+static void - mn_popup_init (MNPopup * o G_GNUC_UNUSED) - { - #define __GOB_FUNCTION__ "MN:Popup::init" -@@ -299,8 +322,10 @@ - "icon-name", "stock_mail", - NULL); - -- if (mn_conf_get_enum_value(MN_TYPE_POPUP_POSITION, MN_CONF_POPUPS_POSITION) == MN_POPUP_POSITION_ATTACHED) -+ if (mn_conf_get_enum_value(MN_TYPE_POPUP_POSITION, MN_CONF_POPUPS_POSITION) == MN_POPUP_POSITION_ATTACHED) { -+ mn_popup_wait_for_icon_to_become_ready(); - g_object_set(self, "attach-widget", mn_shell->icon, NULL); -+ } - - g_string_free(body, TRUE); - diff --git a/extra/mail-notification/mail-notification-5.4-sasl_encode64.patch b/extra/mail-notification/mail-notification-5.4-sasl_encode64.patch deleted file mode 100644 index 80a7304d1..000000000 --- a/extra/mail-notification/mail-notification-5.4-sasl_encode64.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up mail-notification-5.4/build/src/mn-pop3-mailbox.c mail-notification-5.4-OK/build/src/mn-pop3-mailbox.c ---- mail-notification-5.4/build/src/mn-pop3-mailbox.c 2009-05-19 10:29:58.448201837 +0200 -+++ mail-notification-5.4-OK/build/src/mn-pop3-mailbox.c 2009-05-19 10:23:29.356204287 +0200 -@@ -619,7 +619,7 @@ mn_pop3_mailbox_enter_auth_cb (MNClientS - - if (initial_clientoutlen > 0) - { -- char buf64[initial_clientoutlen * 2]; /* Base64 is 33% larger than the data it encodes */ -+ char buf64[initial_clientoutlen * 2 + 1]; /* Base64 is 33% larger than the data it encodes */ - unsigned int outlen; - int result; - char *str; -diff -up mail-notification-5.4/src/mn-client-session.c mail-notification-5.4-OK/src/mn-client-session.c ---- mail-notification-5.4/src/mn-client-session.c 2008-05-22 17:45:35.000000000 +0200 -+++ mail-notification-5.4-OK/src/mn-client-session.c 2009-05-19 10:29:09.112211055 +0200 -@@ -1030,7 +1030,7 @@ mn_client_session_write (MNClientSession - static int - write_base64 (MNClientSession *session, const char *buf, unsigned int len) - { -- char buf64[len * 2]; /* Base64 is 33% larger than the data it encodes */ -+ char buf64[len * 2 + 1]; /* Base64 is 33% larger than the data it encodes */ - unsigned int outlen; - int result; - char *str; diff --git a/extra/mail-notification/mail-notification-5.4-weak.patch b/extra/mail-notification/mail-notification-5.4-weak.patch deleted file mode 100644 index 2e2a233aa..000000000 --- a/extra/mail-notification/mail-notification-5.4-weak.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -Nrbu mail-notification-5.4/build/src/mn-shell.c mail-notification-5.4-OK/build/src/mn-shell.c ---- mail-notification-5.4/build/src/mn-shell.c 2008-05-22 19:47:49.000000000 +0400 -+++ mail-notification-5.4-OK/build/src/mn-shell.c 2010-05-24 19:39:48.000000000 +0400 -@@ -1008,6 +1008,7 @@ - Self *self = user_data; - - /* The Notification Area applet has been terminated. Recreate the icon. */ -+ mn_remove_weak_pointer(&self->icon); - self_init_icon(self); - }} - #line 1014 "mn-shell.c" diff --git a/extra/mail-notification/mail-notification.install b/extra/mail-notification/mail-notification.install deleted file mode 100644 index 21cd94399..000000000 --- a/extra/mail-notification/mail-notification.install +++ /dev/null @@ -1,24 +0,0 @@ -pkgname=mail-notification - -post_install() { - usr/sbin/gconfpkg --install ${pkgname} - kill -s HUP `pidof bonobo-activation-server` > /dev/null 2>&1 - gtk-update-icon-cache -q -t -f usr/share/icons/hicolor -} - -pre_upgrade() { - pre_remove $1 -} - -post_upgrade() { - post_install $1 -} - -pre_remove() { - usr/sbin/gconfpkg --uninstall ${pkgname} -} - -post_remove() { - kill -s HUP `pidof bonobo-activation-server` > /dev/null 2>&1 - gtk-update-icon-cache -q -t -f usr/share/icons/hicolor -} diff --git a/extra/mail-notification/remove-ubuntu-special-case.patch b/extra/mail-notification/remove-ubuntu-special-case.patch deleted file mode 100644 index 4516f32c6..000000000 --- a/extra/mail-notification/remove-ubuntu-special-case.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- jbsrc/lib/src/core/jb-feature.c.~1~ 2008-04-27 16:47:27.000000000 +0200 -+++ jbsrc/lib/src/core/jb-feature.c 2008-07-22 11:40:50.856886210 +0200 -@@ -164,8 +164,6 @@ - static void - gconf_configure (void) - { -- JBVariable *variable; -- - jb_require_program("gconftool-2"); - - if (! strcmp(jb_variable_get_string("gconf-config-source"), "autodetect")) -@@ -178,21 +176,6 @@ - jb_variable_set_string("gconf-config-source", config_source); - g_free(config_source); - } -- -- /* fix the default schemas dir on Ubuntu */ -- variable = jb_variable_get_variable_or_error("gconf-schemas-dir"); -- if (! variable->user_set) -- { -- static const char *ubuntu_dir = "$datadir/gconf/schemas"; -- char *expanded; -- -- expanded = jb_variable_expand(ubuntu_dir, NULL); -- -- if (g_file_test(expanded, G_FILE_TEST_IS_DIR)) -- jb_variable_set_string("gconf-schemas-dir", ubuntu_dir); -- -- g_free(expanded); -- } - } - - static void diff --git a/extra/moc/gcc-undefined-symbols.diff b/extra/moc/gcc-undefined-symbols.diff deleted file mode 100644 index 09e9b8bda..000000000 --- a/extra/moc/gcc-undefined-symbols.diff +++ /dev/null @@ -1,12 +0,0 @@ ---- decoder.c~ 2011-05-08 09:28:28.077137883 +0200 -+++ decoder.c 2011-05-10 21:40:48.887941968 +0200 -@@ -259,6 +259,9 @@ - for (i = 0; i < plugins_num; i++) - if (plugins[i].decoder->destroy) - plugins[i].decoder->destroy (); -+ for (i = 0; i < plugins_num; i++) -+ if (plugins[i].handle) -+ lt_dlclose(plugins[i].handle); - - if (lt_dlexit()) - logit ("lt_exit() failed: %s", lt_dlerror()); diff --git a/extra/moc/moc-ffmpeg.patch b/extra/moc/moc-ffmpeg.patch deleted file mode 100644 index 7554ea14e..000000000 --- a/extra/moc/moc-ffmpeg.patch +++ /dev/null @@ -1,26 +0,0 @@ -Index: decoder_plugins/ffmpeg/ffmpeg.c -=================================================================== ---- decoder_plugins/ffmpeg/ffmpeg.c (revision 2307) -+++ decoder_plugins/ffmpeg/ffmpeg.c (working copy) -@@ -28,12 +28,6 @@ - #include <ffmpeg/avformat.h> - #endif - --/* libavformat's API will be changing at version 53, but at present there -- * appears to be no guidance on what will replace the deprecated fields. */ --#ifndef FF_API_OLD_METADATA --#define FF_API_OLD_METADATA (LIBAVFORMAT_VERSION_MAJOR < 53) --#endif -- - /* FFmpeg also likes common names, without that, our common.h and log.h - * would not be included. */ - #undef COMMON_H -@@ -137,7 +131,7 @@ - av_read_play (data->ic); - for (i = 0; i < data->ic->nb_streams; i++) { - data->enc = data->ic->streams[i]->codec; -- if (data->enc->codec_type == CODEC_TYPE_AUDIO) { -+ if (data->enc->codec_type == AVMEDIA_TYPE_AUDIO) { - audio_index = i; - break; - } diff --git a/extra/nautilus/samba-crash.patch b/extra/nautilus/samba-crash.patch deleted file mode 100644 index b10d39008..000000000 --- a/extra/nautilus/samba-crash.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 4e59e4cfc7bc68534664d9f72d0c7ea680b79db3 Mon Sep 17 00:00:00 2001 -From: Cosimo Cecchi <cosimoc@gnome.org> -Date: Fri, 04 May 2012 18:38:43 +0000 -Subject: places-sidebar: don't double unref GMount objects - -Fixes a lot of reported crashers with NFS/Samba volumes. - -https://bugzilla.gnome.org/show_bug.cgi?id=674659 ---- -diff --git a/src/nautilus-places-sidebar.c b/src/nautilus-places-sidebar.c -index 61f3658..672a4b0 100644 ---- a/src/nautilus-places-sidebar.c -+++ b/src/nautilus-places-sidebar.c -@@ -774,7 +774,7 @@ update_places (NautilusPlacesSidebar *sidebar) - root = g_mount_get_default_location (mount); - - if (!g_file_is_native (root)) { -- network_mounts = g_list_prepend (network_mounts, g_object_ref (mount)); -+ network_mounts = g_list_prepend (network_mounts, mount); - continue; - } - -@@ -856,7 +856,6 @@ update_places (NautilusPlacesSidebar *sidebar) - name, icon, mount_uri, - NULL, NULL, mount, 0, tooltip); - g_object_unref (root); -- g_object_unref (mount); - g_object_unref (icon); - g_free (name); - g_free (mount_uri); --- -cgit v0.9.0.2 diff --git a/extra/nmap/ChangeLog b/extra/nmap/ChangeLog deleted file mode 100644 index a1ef5e062..000000000 --- a/extra/nmap/ChangeLog +++ /dev/null @@ -1,17 +0,0 @@ - -2008-10-28 Douglas Soares de Andrade <douglas@archlinux.org> - - * Python 2.6 rebuild. - -2008-07-23 Hugo Doria <hugo@archlinux.org> - - * Added pygtk in optdepends: 4.68-3 - -2008-07-09 Douglas Soares de Andrade <douglas@archlinux.org> - - * Fixing the pixmaps path for i686: 4.68 - -2008-07-09 Douglas Soares de Andrade <douglas@archlinux.org> - - * Updated for i686: 4.68 - diff --git a/extra/nxserver/NXproto.h.64bit.diff b/extra/nxserver/NXproto.h.64bit.diff deleted file mode 100644 index ac326ebcd..000000000 --- a/extra/nxserver/NXproto.h.64bit.diff +++ /dev/null @@ -1,66 +0,0 @@ ---- nxcomp.old/NXproto.h 2006-06-19 19:55:56.000000000 +0200 -+++ nxcomp/NXproto.h 2007-02-12 18:17:41.000000000 +0100 -@@ -26,6 +26,30 @@ - #include <X11/Xmd.h> - #include <X11/Xproto.h> - -+/* -+ Copied from Xproto.h -+ */ -+ -+/* For the purpose of the structure definitions in this file, -+we must redefine the following types in terms of Xmd.h's types, which may -+include bit fields. All of these are #undef'd at the end of this file, -+restoring the definitions in X.h. */ -+ -+#define Window CARD32 -+#define Drawable CARD32 -+#define Font CARD32 -+#define Pixmap CARD32 -+#define Cursor CARD32 -+#define Colormap CARD32 -+#define GContext CARD32 -+#define Atom CARD32 -+#define VisualID CARD32 -+#define Time CARD32 -+#define KeyCode CARD8 -+#define KeySym CARD32 -+ -+/* End copied from Xproto.h */ -+ - #define sz_xNXGetControlParametersReq 4 - #define sz_xNXGetCleanupParametersReq 4 - #define sz_xNXGetImageParametersReq 4 -@@ -343,9 +367,9 @@ - CARD8 dstDepth; - CARD32 srcLength B32; - CARD32 dstLength B32; -- INT16 srcX B16, srcY B16; -+ CARD16 srcX B16, srcY B16; - CARD16 srcWidth B16, srcHeight B16; -- INT16 dstX B16, dstY B16; -+ CARD16 dstX B16, dstY B16; - CARD16 dstWidth B16, dstHeight B16; - } xNXPutPackedImageReq; - -@@ -463,4 +487,20 @@ - } - #endif - -+/* Copied from Xproto.h */ -+ -+/* restore these definitions back to the typedefs in X.h */ -+#undef Window -+#undef Drawable -+#undef Font -+#undef Pixmap -+#undef Cursor -+#undef Colormap -+#undef GContext -+#undef Atom -+#undef VisualID -+#undef Time -+#undef KeyCode -+#undef KeySym -+ - #endif /* NXproto_H */ diff --git a/extra/nxserver/PKGBUILD b/extra/nxserver/PKGBUILD deleted file mode 100644 index 242c5f08b..000000000 --- a/extra/nxserver/PKGBUILD +++ /dev/null @@ -1,95 +0,0 @@ -# $Id: PKGBUILD 148864 2012-02-05 11:53:19Z ibiru $ -# Maintainer: Tobias Powalowski <tpowa@archlinux.org> -# Contributed: eliott <eliott@solarblue.net>, Andre Naumann <anaumann@SPARCed.org> - -pkgname=nxserver -pkgver=3.5.0 -pkgrel=5 -pkgdesc="NoMachine NX is the next-generation X compression and roundtrip suppression scheme." -arch=(i686 x86_64) -url="http://nomachine.com/" -license=('GPL') -depends=("nx-common" 'libxaw' 'libxrender' 'libxp' 'gcc-libs' 'libjpeg>=8' #>=$pkgver - 'libxpm' 'libpng>=1.5.7' 'libxdamage' 'libxrandr' 'libxcomposite' 'libxtst' 'freetype2' - 'xorg-sessreg') -makedepends=('imake') -source=( -#X11 support programs and libraries -http://64.34.161.181/download/$pkgver/sources/nx-X11-$pkgver-2.tar.gz -http://64.34.161.181/download/$pkgver/sources/nxwin-$pkgver-2.tar.gz -http://64.34.161.181/download/$pkgver/sources/nxauth-$pkgver-1.tar.gz -http://64.34.161.181/download/$pkgver/sources/nxcomp-$pkgver-2.tar.gz # needed to provide NX.h and -LXcomp - part of nx-common -#X11 Agent sources -http://64.34.161.181/download/$pkgver/sources/nxagent-$pkgver-7.tar.gz -http://64.34.161.181/download/$pkgver/sources/nxcompsh-$pkgver-1.tar.gz # needed to get X11 built - part of nx-common -#Compression libs and proxy sources -http://64.34.161.181/download/$pkgver/sources/nxproxy-$pkgver-1.tar.gz -http://64.34.161.181/download/$pkgver/sources/nxcompext-$pkgver-1.tar.gz -http://64.34.161.181/download/$pkgver/sources/nxcompshad-$pkgver-2.tar.gz -# gcc 43 fix -nxcompsh-gcc43.patch -nx-3.5.0-libpng15.patch) -options=(!libtool) -md5sums=('12060433a74ac61a1c776d1d6d136117' - '84c7f1575d9a1506370125ed050514ab' - 'cf38ec1e5a5f6453946cd387c14f2684' - 'ad8c0f133122c6d07732ca69c8759410' - '0a36c7e6a86c6c741179464b8f79c487' - '84ade443b79ea079380b754aba9d392e' - '488bb4d9b8e9f82dc272b4e6e9c57d30' - 'abde2ccc33e31fc695031c2cfb60f3dd' - '90a762dd9eb19c8c97876ad837923857' - 'b6c279654dac421fc3dd1a27d66ff53c' - '2966353cabb96829eab291212ef078dc') - -build() { - cd ${srcdir} - - # nxcomp - cd ${srcdir}/nxcomp - patch -Np1 -i ${srcdir}/nx-3.5.0-libpng15.patch - ./configure --prefix=/opt/NX - make - # nxcompshad - cd ${srcdir}/nxcompshad - ./configure --prefix=/opt/NX - make - # nxcompsh - cd ${srcdir}/nxcompsh - patch -Np1 -i ${srcdir}/nxcompsh-gcc43.patch - ./configure --prefix=/opt/NX - make - # nxproxy - cd ${srcdir}/nxproxy - ./configure --prefix=/opt/NX - make - # nx-X11 - cd ${srcdir}/nx-X11 - make World - # nxcompext - cd ${srcdir}/nxcompext - ./configure --prefix=/opt/NX - make -} - -package() { - mkdir -p ${pkgdir}/opt/NX/bin - mkdir -p ${pkgdir}/opt/NX/lib - - # nxcompshad - cd ${srcdir}/nxcompshad - cp -a libXcompshad.so* ${pkgdir}/opt/NX/lib - # nxproxy - cd ${srcdir}/nxproxy - make prefix=${pkgdir}/opt/NX install - # nx-X11 - cd ${srcdir}/nx-X11 - cp -a lib/X11/libX11.so* ${pkgdir}/opt/NX/lib - cp -a lib/Xext/libXext.so* ${pkgdir}/opt/NX/lib - cp -a lib/Xrender/libXrender.so* ${pkgdir}/opt/NX/lib - install -D -m755 programs/Xserver/nxagent ${pkgdir}/opt/NX/bin/nxagent - install -D -m755 programs/nxauth/nxauth ${pkgdir}/opt/NX/bin/nxauth - # nxcompext - cd ${srcdir}/nxcompext - cp -a libXcompext.so* ${pkgdir}/opt/NX/lib -}
\ No newline at end of file diff --git a/extra/nxserver/nx-3.5.0-libpng15.patch b/extra/nxserver/nx-3.5.0-libpng15.patch deleted file mode 100644 index c8f2a9559..000000000 --- a/extra/nxserver/nx-3.5.0-libpng15.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -ur nxcomp.orig/Pgn.cpp nxcomp/Pgn.cpp ---- nxcomp.orig/Pgn.cpp 2010-03-01 19:18:59.000000000 +0200 -+++ nxcomp/Pgn.cpp 2011-09-13 16:35:12.000000000 +0300 -@@ -414,7 +414,7 @@ - - png_read_info(pngPtr, infoPtr); - -- if (infoPtr -> color_type == PNG_COLOR_TYPE_PALETTE) -+ if (png_get_color_type(pngPtr, infoPtr) == PNG_COLOR_TYPE_PALETTE) - { - png_set_expand(pngPtr); - } -@@ -565,7 +565,7 @@ - - png_read_info( pngPtr, infoPtr ) ; - -- if (infoPtr -> color_type == PNG_COLOR_TYPE_PALETTE) -+ if (png_get_color_type(pngPtr, infoPtr) == PNG_COLOR_TYPE_PALETTE) - { - png_set_expand(pngPtr); - } -@@ -709,7 +709,7 @@ - png_read_info(pngPtr, infoPtr) ; - - -- if (infoPtr -> color_type == PNG_COLOR_TYPE_PALETTE) -+ if (png_get_color_type(pngPtr, infoPtr) == PNG_COLOR_TYPE_PALETTE) - { - png_set_expand(pngPtr); - } diff --git a/extra/nxserver/nxcompsh-gcc43.patch b/extra/nxserver/nxcompsh-gcc43.patch deleted file mode 100644 index 681a0dab5..000000000 --- a/extra/nxserver/nxcompsh-gcc43.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- nxcompsh/Misc.h~ 2007-06-04 13:39:49.000000000 +0200 -+++ nxcompsh/Misc.h 2008-04-12 12:46:24.000000000 +0200 -@@ -18,10 +18,12 @@ - #ifndef Misc_H - #define Misc_H - --#include <iostream.h> -+#include <iostream> - --#include <errno.h> --#include <string.h> -+#include <cerrno> -+#include <cstring> -+ -+using namespace std; - - // - // Error handling macros. - diff --git a/extra/openmpi/openmpi-1.5.4-fix-fakeroot-execution.patch b/extra/openmpi/openmpi-1.5.4-fix-fakeroot-execution.patch deleted file mode 100644 index dc9dcfeae..000000000 --- a/extra/openmpi/openmpi-1.5.4-fix-fakeroot-execution.patch +++ /dev/null @@ -1,43 +0,0 @@ -Description: If running under Debian fakeroot then its important - that this hook is disabled; a new stat check was introduced in - 1.5.x which preceeds the FAKEROOT check resulting in a SEGFAULT. -Author: James Page <james.page@ubuntu.com> -Origin: https://svn.open-mpi.org/trac/ompi/changeset/21489 - -Index: openmpi-1.5.4/opal/mca/memory/linux/hooks.c -=================================================================== ---- openmpi-1.5.4.orig/opal/mca/memory/linux/hooks.c 2012-02-15 12:59:39.986314651 +0000 -+++ openmpi-1.5.4/opal/mca/memory/linux/hooks.c 2012-02-15 13:14:57.744722517 +0000 -@@ -738,15 +738,6 @@ - check_result_t r1, r2, lp, lpp; - bool want_rcache = false, found_driver = false; - -- /* First, check if ummunotify is present on the system. If it is, -- then we don't need to do the following ptmalloc2 hacks. -- open/mmap on the device may fail during init, but if /dev/ummunotify -- exists, we assume that the user/administrator *wants* to use -- ummunotify. */ -- if (stat("/dev/ummunotify", &st) == 0) { -- return; -- } -- - /* Yes, checking for an MPI MCA parameter here is an abstraction - violation. Cope. Yes, even checking for *any* MCA parameter - here (without going through the MCA param API) is an -@@ -769,6 +760,15 @@ - return; - } - -+ /* Next, check if ummunotify is present on the system. If it is, -+ then we don't need to do the following ptmalloc2 hacks. -+ open/mmap on the device may fail during init, but if /dev/ummunotify -+ exists, we assume that the user/administrator *wants* to use -+ ummunotify. */ -+ if (stat("/dev/ummunotify", &st) == 0) { -+ return; -+ } -+ - /* Look for sentinel files (directories) to see if various network - drivers are loaded (yes, I know, further abstraction - violations...). - diff --git a/extra/php-suhosin/PKGBUILD b/extra/php-suhosin/PKGBUILD deleted file mode 100644 index 45adeb4ee..000000000 --- a/extra/php-suhosin/PKGBUILD +++ /dev/null @@ -1,33 +0,0 @@ -# $Id: PKGBUILD 146961 2012-01-19 17:54:16Z pierre $ -# Maintainer: Pierre Schmitz <pierre@archlinux.de> - -pkgname=php-suhosin -pkgver=0.9.33 -pkgrel=1 -arch=('i686' 'x86_64') -pkgdesc='An advanced protection system for PHP installations' -url='http://www.hardened-php.net/suhosin/' -license='PHP' -source=("http://download.suhosin.org/suhosin-${pkgver}.tgz" - "http://download.suhosin.org/suhosin-${pkgver}.tgz.sig") -depends=('php') -conflicts=('php-suhosin-extension') -replaces=('php-suhosin-extension') -backup=('etc/php/conf.d/suhosin.ini') -md5sums=('0ce498a02a8281e4274ea8e390c2b487' - '6e9536cc71342bab0efb1e9a84f688a6') - -build() { - cd ${srcdir}/suhosin-${pkgver} - phpize - ./configure --prefix=/usr --enable-suhosin - make -} - -package() { - cd ${srcdir}/suhosin-${pkgver} - make INSTALL_ROOT=${pkgdir} install - # disable by default - sed -i 's|extension = suhosin.so|;extension=suhosin.so|g' suhosin.ini - install -D -m644 suhosin.ini ${pkgdir}/etc/php/conf.d/suhosin.ini -} diff --git a/extra/php/suhosin.patch b/extra/php/suhosin.patch deleted file mode 100644 index e5db52d40..000000000 --- a/extra/php/suhosin.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- suhosin-patch-5.3.9-0.9.10.patch 2012-04-01 11:55:46.699676255 +0200
-+++ suhosin-patch-5.3.9-0.9.10.patch 2012-04-01 11:56:19.322146479 +0200
-@@ -4515,8 +4515,8 @@
- +#define SUHOSIN_PATCH 1
- +EOF
-
-- echo $ac_n "checking for declared timezone""... $ac_c" 1>&6
-- echo "configure:19377: checking for declared timezone" >&5
-+ echo "$as_me:$LINENO: checking for declared timezone" >&5
-+ echo $ECHO_N "checking for declared timezone... $ECHO_C" >&6
- @@ -115830,7 +115833,7 @@
- php_ini.c SAPI.c rfc1867.c php_content_types.c strlcpy.c \
- strlcat.c mergesort.c reentrancy.c php_variables.c php_ticks.c \
diff --git a/extra/pidgin/port-to-farstream-v3.patch b/extra/pidgin/port-to-farstream-v3.patch deleted file mode 100644 index 93e29af50..000000000 --- a/extra/pidgin/port-to-farstream-v3.patch +++ /dev/null @@ -1,447 +0,0 @@ -diff -upr pidgin-2.10.1.orig/configure.ac pidgin-2.10.1/configure.ac ---- pidgin-2.10.1.orig/configure.ac 2011-12-06 10:44:32.000000000 +0200 -+++ pidgin-2.10.1/configure.ac 2012-03-10 18:21:12.000000000 +0200 -@@ -780,18 +780,18 @@ else - fi - - dnl ####################################################################### --dnl # Check for Farsight -+dnl # Check for Farstream - dnl ####################################################################### --AC_ARG_ENABLE(farsight, -- [AC_HELP_STRING([--disable-farsight], [compile without farsight support])], -- enable_farsight="$enableval", enable_farsight="yes") --if test "x$enable_farsight" != "xno"; then -- PKG_CHECK_MODULES(FARSIGHT, [farsight2-0.10 >= 0.0.9], [ -- AC_DEFINE(USE_FARSIGHT, 1, [Use Farsight for voice and video]) -- AC_SUBST(FARSIGHT_CFLAGS) -- AC_SUBST(FARSIGHT_LIBS) -+AC_ARG_ENABLE(farstream, -+ [AC_HELP_STRING([--disable-farstream], [compile without farstream support])], -+ enable_farstream="$enableval", enable_farstream="yes") -+if test "x$enable_farstream" != "xno"; then -+ PKG_CHECK_MODULES(FARSTREAM, [farstream-0.1], [ -+ AC_DEFINE(USE_FARSTREAM, 1, [Use Farstream for voice and video]) -+ AC_SUBST(FARSTREAM_CFLAGS) -+ AC_SUBST(FARSTREAM_LIBS) - ], [ -- enable_farsight="no" -+ enable_farstream="no" - ]) - fi - -@@ -802,20 +802,20 @@ AC_ARG_ENABLE(vv, - [AC_HELP_STRING([--disable-vv], [compile without voice and video support])], - enable_vv="$enableval", enable_vv="yes") - if test "x$enable_vv" != "xno"; then -- if test "x$enable_gstreamer" != "xno" -a "x$enable_gstinterfaces" != "xno" -a "x$enable_farsight" != "xno"; then -+ if test "x$enable_gstreamer" != "xno" -a "x$enable_gstinterfaces" != "xno" -a "x$enable_farstream" != "xno"; then - AC_DEFINE(USE_VV, 1, [Use voice and video]) - else - enable_vv="no" - if test "x$force_deps" = "xyes"; then - AC_MSG_ERROR([ - Dependencies for voice/video were not met. --Install the necessary gstreamer and farsight packages first. -+Install the necessary gstreamer and farstream packages first. - Or use --disable-vv if you do not need voice/video support. - ]) - fi - fi - fi --AM_CONDITIONAL(USE_VV, test "x$enable_gstreamer" != "xno" -a "x$enable_gstinterfaces" != "xno" -a "x$enable_farsight" != "xno") -+AM_CONDITIONAL(USE_VV, test "x$enable_gstreamer" != "xno" -a "x$enable_gstinterfaces" != "xno" -a "x$enable_farstream" != "xno") - - dnl ####################################################################### - dnl # Check for Internationalized Domain Name support -diff -upr pidgin-2.10.1.orig/libpurple/Makefile.am pidgin-2.10.1/libpurple/Makefile.am ---- pidgin-2.10.1.orig/libpurple/Makefile.am 2011-12-06 10:44:33.000000000 +0200 -+++ pidgin-2.10.1/libpurple/Makefile.am 2012-03-10 18:21:19.000000000 +0200 -@@ -306,7 +306,7 @@ libpurple_la_LIBADD = \ - $(LIBXML_LIBS) \ - $(NETWORKMANAGER_LIBS) \ - $(INTLLIBS) \ -- $(FARSIGHT_LIBS) \ -+ $(FARSTREAM_LIBS) \ - $(GSTREAMER_LIBS) \ - $(GSTINTERFACES_LIBS) \ - $(IDN_LIBS) \ -@@ -322,7 +322,7 @@ AM_CPPFLAGS = \ - $(DEBUG_CFLAGS) \ - $(DBUS_CFLAGS) \ - $(LIBXML_CFLAGS) \ -- $(FARSIGHT_CFLAGS) \ -+ $(FARSTREAM_CFLAGS) \ - $(GSTREAMER_CFLAGS) \ - $(GSTINTERFACES_CFLAGS) \ - $(IDN_CFLAGS) \ -diff -upr pidgin-2.10.1.orig/libpurple/media/backend-fs2.c pidgin-2.10.1/libpurple/media/backend-fs2.c ---- pidgin-2.10.1.orig/libpurple/media/backend-fs2.c 2011-12-06 10:44:33.000000000 +0200 -+++ pidgin-2.10.1/libpurple/media/backend-fs2.c 2012-03-10 18:21:19.000000000 +0200 -@@ -1,5 +1,5 @@ - /** -- * @file backend-fs2.c Farsight 2 backend for media API -+ * @file backend-fs2.c Farstream backend for media API - * @ingroup core - */ - -@@ -34,8 +34,9 @@ - #include "network.h" - #include "media-gst.h" - --#include <gst/farsight/fs-conference-iface.h> --#include <gst/farsight/fs-element-added-notifier.h> -+#include <farstream/fs-conference.h> -+#include <farstream/fs-element-added-notifier.h> -+#include <farstream/fs-utils.h> - - /** @copydoc _PurpleMediaBackendFs2Class */ - typedef struct _PurpleMediaBackendFs2Class PurpleMediaBackendFs2Class; -@@ -112,6 +113,8 @@ struct _PurpleMediaBackendFs2Stream - gchar *participant; - FsStream *stream; - -+ gboolean supports_add; -+ - GstElement *src; - GstElement *tee; - GstElement *volume; -@@ -147,6 +150,8 @@ struct _PurpleMediaBackendFs2Private - FsConference *conference; - gchar *conference_type; - -+ FsElementAddedNotifier *notifier; -+ - GHashTable *sessions; - GHashTable *participants; - -@@ -212,6 +217,11 @@ purple_media_backend_fs2_dispose(GObject - - purple_debug_info("backend-fs2", "purple_media_backend_fs2_dispose\n"); - -+ if (priv->notifier) { -+ g_object_unref(priv->notifier); -+ priv->notifier = NULL; -+ } -+ - if (priv->confbin) { - GstElement *pipeline; - -@@ -846,7 +856,7 @@ gst_handle_message_element(GstBus *bus, - priv->conference != FS_CONFERENCE(src)) - return; - -- if (gst_structure_has_name(msg->structure, "farsight-error")) { -+ if (gst_structure_has_name(msg->structure, "farstream-error")) { - FsError error_no; - gst_structure_get_enum(msg->structure, "error-no", - FS_TYPE_ERROR, (gint*)&error_no); -@@ -867,16 +877,9 @@ gst_handle_message_element(GstBus *bus, - " strict.")); - purple_media_end(priv->media, NULL, NULL); - break; -- case FS_ERROR_UNKNOWN_CNAME: -- /* -- * Unknown CName is only a problem for the -- * multicast transmitter which isn't used. -- * It is also deprecated. -- */ -- break; - default: - purple_debug_error("backend-fs2", -- "farsight-error: %i: %s\n", -+ "farstream-error: %i: %s\n", - error_no, - gst_structure_get_string( - msg->structure, "error-msg")); -@@ -885,11 +888,11 @@ gst_handle_message_element(GstBus *bus, - - if (FS_ERROR_IS_FATAL(error_no)) { - purple_media_error(priv->media, _("A non-recoverable " -- "Farsight2 error has occurred.")); -+ "Farstream error has occurred.")); - purple_media_end(priv->media, NULL, NULL); - } - } else if (gst_structure_has_name(msg->structure, -- "farsight-new-local-candidate")) { -+ "farstream-new-local-candidate")) { - const GValue *value; - FsStream *stream; - FsCandidate *local_candidate; -@@ -924,7 +927,7 @@ gst_handle_message_element(GstBus *bus, - session->id, name, candidate); - g_object_unref(candidate); - } else if (gst_structure_has_name(msg->structure, -- "farsight-local-candidates-prepared")) { -+ "farstream-local-candidates-prepared")) { - const GValue *value; - FsStream *stream; - FsParticipant *participant; -@@ -942,7 +945,7 @@ gst_handle_message_element(GstBus *bus, - g_signal_emit_by_name(self, "candidates-prepared", - session->id, name); - } else if (gst_structure_has_name(msg->structure, -- "farsight-new-active-candidate-pair")) { -+ "farstream-new-active-candidate-pair")) { - const GValue *value; - FsStream *stream; - FsCandidate *local_candidate; -@@ -976,7 +979,7 @@ gst_handle_message_element(GstBus *bus, - g_object_unref(lcandidate); - g_object_unref(rcandidate); - } else if (gst_structure_has_name(msg->structure, -- "farsight-recv-codecs-changed")) { -+ "farstream-recv-codecs-changed")) { - const GValue *value; - GList *codecs; - FsCodec *codec; -@@ -986,10 +989,10 @@ gst_handle_message_element(GstBus *bus, - codec = codecs->data; - - purple_debug_info("backend-fs2", -- "farsight-recv-codecs-changed: %s\n", -+ "farstream-recv-codecs-changed: %s\n", - codec->encoding_name); - } else if (gst_structure_has_name(msg->structure, -- "farsight-component-state-changed")) { -+ "farstream-component-state-changed")) { - const GValue *value; - FsStreamState fsstate; - guint component; -@@ -1025,11 +1028,11 @@ gst_handle_message_element(GstBus *bus, - } - - purple_debug_info("backend-fs2", -- "farsight-component-state-changed: " -+ "farstream-component-state-changed: " - "component: %u state: %s\n", - component, state); - } else if (gst_structure_has_name(msg->structure, -- "farsight-send-codec-changed")) { -+ "farstream-send-codec-changed")) { - const GValue *value; - FsCodec *codec; - gchar *codec_str; -@@ -1039,12 +1042,12 @@ gst_handle_message_element(GstBus *bus, - codec_str = fs_codec_to_string(codec); - - purple_debug_info("backend-fs2", -- "farsight-send-codec-changed: codec: %s\n", -+ "farstream-send-codec-changed: codec: %s\n", - codec_str); - - g_free(codec_str); - } else if (gst_structure_has_name(msg->structure, -- "farsight-codecs-changed")) { -+ "farstream-codecs-changed")) { - const GValue *value; - FsSession *fssession; - GList *sessions; -@@ -1220,8 +1223,12 @@ stream_info_cb(PurpleMedia *media, Purpl - purple_media_is_initiator(media, sid, name)) - return; - -- fs_stream_set_remote_candidates(stream->stream, -- stream->remote_candidates, &err); -+ if (stream->supports_add) -+ fs_stream_add_remote_candidates(stream->stream, -+ stream->remote_candidates, &err); -+ else -+ fs_stream_force_remote_candidates(stream->stream, -+ stream->remote_candidates, &err); - - if (err == NULL) - return; -@@ -1301,6 +1308,7 @@ init_conference(PurpleMediaBackendFs2 *s - GstElement *pipeline; - GstBus *bus; - gchar *name; -+ GKeyFile *default_props; - - priv->conference = FS_CONFERENCE( - gst_element_factory_make(priv->conference_type, NULL)); -@@ -1343,6 +1351,14 @@ init_conference(PurpleMediaBackendFs2 *s - return FALSE; - } - -+ default_props = fs_utils_get_default_element_properties(GST_ELEMENT(priv->conference)); -+ if (default_props != NULL) { -+ priv->notifier = fs_element_added_notifier_new(); -+ fs_element_added_notifier_add(priv->notifier, -+ GST_BIN(priv->confbin)); -+ fs_element_added_notifier_set_properties_from_keyfile(priv->notifier, default_props); -+ } -+ - g_signal_connect(G_OBJECT(bus), "message", - G_CALLBACK(gst_bus_cb), self); - gst_object_unref(bus); -@@ -1559,7 +1575,7 @@ create_session(PurpleMediaBackendFs2 *se - * receiving the src-pad-added signal. - * Only works for non-multicast FsRtpSessions. - */ -- if (is_nice || !strcmp(transmitter, "rawudp")) -+ if (!!strcmp(transmitter, "multicast")) - g_object_set(G_OBJECT(session->session), - "no-rtcp-timeout", 0, NULL); - -@@ -1612,7 +1628,7 @@ create_participant(PurpleMediaBackendFs2 - GError *err = NULL; - - participant = fs_conference_new_participant( -- priv->conference, name, &err); -+ priv->conference, &err); - - if (err) { - purple_debug_error("backend-fs2", -@@ -1622,6 +1638,12 @@ create_participant(PurpleMediaBackendFs2 - return FALSE; - } - -+ if (g_object_class_find_property(G_OBJECT_GET_CLASS(participant), -+ "cname")) { -+ g_object_set(participant, "cname", name, NULL); -+ } -+ -+ - if (!priv->participants) { - purple_debug_info("backend-fs2", - "Creating hash table for participants\n"); -@@ -1786,6 +1808,40 @@ create_stream(PurpleMediaBackendFs2 *sel - } - } - -+ -+ session = get_session(self, sess_id); -+ -+ if (session == NULL) { -+ purple_debug_error("backend-fs2", -+ "Couldn't find session to create stream.\n"); -+ return FALSE; -+ } -+ -+ participant = get_participant(self, who); -+ -+ if (participant == NULL) { -+ purple_debug_error("backend-fs2", "Couldn't find " -+ "participant to create stream.\n"); -+ return FALSE; -+ } -+ -+ fsstream = fs_session_new_stream(session->session, participant, -+ initiator == TRUE ? type_direction : -+ (type_direction & FS_DIRECTION_RECV), &err); -+ -+ if (fsstream == NULL) { -+ if (err) { -+ purple_debug_error("backend-fs2", -+ "Error creating stream: %s\n", -+ err && err->message ? -+ err->message : "NULL"); -+ g_error_free(err); -+ } else -+ purple_debug_error("backend-fs2", -+ "Error creating stream\n"); -+ return FALSE; -+ } -+ - memcpy(_params, params, sizeof(GParameter) * num_params); - - /* set the controlling mode parameter */ -@@ -1840,45 +1896,22 @@ create_stream(PurpleMediaBackendFs2 *sel - _num_params++; - } - -- session = get_session(self, sess_id); - -- if (session == NULL) { -- purple_debug_error("backend-fs2", -- "Couldn't find session to create stream.\n"); -- return FALSE; -- } -- -- participant = get_participant(self, who); -- -- if (participant == NULL) { -- purple_debug_error("backend-fs2", "Couldn't find " -- "participant to create stream.\n"); -- return FALSE; -+ if(!fs_stream_set_transmitter(fsstream, transmitter, -+ _params, _num_params, &err)) { -+ purple_debug_error("backend-fs2", "Could not set transmitter %s: %s.\n", transmitter, err->message); -+ g_clear_error(&err); -+ g_free(_params); -+ return FALSE; - } -- -- fsstream = fs_session_new_stream(session->session, participant, -- initiator == TRUE ? type_direction : -- (type_direction & FS_DIRECTION_RECV), transmitter, -- _num_params, _params, &err); - g_free(_params); - -- if (fsstream == NULL) { -- if (err) { -- purple_debug_error("backend-fs2", -- "Error creating stream: %s\n", -- err && err->message ? -- err->message : "NULL"); -- g_error_free(err); -- } else -- purple_debug_error("backend-fs2", -- "Error creating stream\n"); -- return FALSE; -- } - - stream = g_new0(PurpleMediaBackendFs2Stream, 1); - stream->participant = g_strdup(who); - stream->session = session; - stream->stream = fsstream; -+ stream->supports_add = !strcmp(transmitter, "nice"); - - priv->streams = g_list_append(priv->streams, stream); - -@@ -1991,7 +2024,11 @@ purple_media_backend_fs2_add_remote_cand - if (purple_media_is_initiator(priv->media, sess_id, participant) || - purple_media_accepted( - priv->media, sess_id, participant)) { -- fs_stream_set_remote_candidates(stream->stream, -+ if (stream->supports_add) -+ fs_stream_add_remote_candidates(stream->stream, -+ stream->remote_candidates, &err); -+ else -+ fs_stream_force_remote_candidates(stream->stream, - stream->remote_candidates, &err); - - if (err) { -diff -upr pidgin-2.10.1.orig/libpurple/media.c pidgin-2.10.1/libpurple/media.c ---- pidgin-2.10.1.orig/libpurple/media.c 2011-12-06 10:44:33.000000000 +0200 -+++ pidgin-2.10.1/libpurple/media.c 2012-03-10 18:21:19.000000000 +0200 -@@ -1067,7 +1067,6 @@ purple_media_add_stream(PurpleMedia *med - { - #ifdef USE_VV - PurpleMediaSession *session; -- PurpleMediaStream *stream = NULL; - - g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE); - -@@ -1103,7 +1102,7 @@ purple_media_add_stream(PurpleMedia *med - } - - if (purple_media_get_stream(media, sess_id, who) == NULL) { -- stream = purple_media_insert_stream(session, who, initiator); -+ purple_media_insert_stream(session, who, initiator); - - g_signal_emit(media, purple_media_signals[STATE_CHANGED], - 0, PURPLE_MEDIA_STATE_NEW, -diff -upr pidgin-2.10.1.orig/libpurple/mediamanager.c pidgin-2.10.1/libpurple/mediamanager.c ---- pidgin-2.10.1.orig/libpurple/mediamanager.c 2011-12-06 10:44:33.000000000 +0200 -+++ pidgin-2.10.1/libpurple/mediamanager.c 2012-03-10 18:27:05.000000000 +0200 -@@ -39,7 +39,7 @@ - #ifdef USE_VV - #include <media/backend-fs2.h> - --#include <gst/farsight/fs-element-added-notifier.h> -+#include <farstream/fs-element-added-notifier.h> - #include <gst/interfaces/xoverlay.h> - - /** @copydoc _PurpleMediaManagerPrivate */ diff --git a/extra/pm-utils/11netcfg b/extra/pm-utils/11netcfg deleted file mode 100644 index 1b4d05ee7..000000000 --- a/extra/pm-utils/11netcfg +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -. /usr/lib/pm-utils/functions - -suspend_netcfg() { - netcfg2 all-suspend -} - -resume_netcfg() { - netcfg2 all-resume -} - -if [ -x /usr/bin/netcfg2 ]; then - case "$1" in - hibernate|suspend) - suspend_netcfg - ;; - thaw|resume) - resume_netcfg - ;; - *) - ;; - esac -fi - -exit $? diff --git a/extra/qt/fix-buffer-overflow.patch b/extra/qt/fix-buffer-overflow.patch deleted file mode 100644 index f0334f247..000000000 --- a/extra/qt/fix-buffer-overflow.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 827e5c4c689d4ecb4f8c1ab48c9a7ab712fe2ca7 Mon Sep 17 00:00:00 2001 -From: John Tapsell <john.tapsell.ext@basyskom.com> -Date: Mon, 12 Mar 2012 22:07:47 +0000 -Subject: [PATCH] Harfbuzz-thai - fix buffer overflow when setting item - attributes - -Change-Id: I19eeb4ec25a7c6cb3f584e6290169f9f327b8713 -Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com> ---- - src/3rdparty/harfbuzz/src/harfbuzz-thai.c | 9 +++++- - .../qtextscriptengine/tst_qtextscriptengine.cpp | 29 ++++++++++++++++++++ - 2 files changed, 36 insertions(+), 2 deletions(-) - -diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-thai.c b/src/3rdparty/harfbuzz/src/harfbuzz-thai.c -index bf6c35b..3c0ffe8 100644 ---- a/src/3rdparty/harfbuzz/src/harfbuzz-thai.c -+++ b/src/3rdparty/harfbuzz/src/harfbuzz-thai.c -@@ -263,8 +263,13 @@ static HB_Bool HB_ThaiConvertStringToGlyphIndices (HB_ShaperItem *item) - // The only glyphs that should be passed to this function that cannot be mapped to - // tis620 are the ones of type Inherited class. Pass these glyphs untouched. - glyphString[slen++] = string[i]; -- if (string[i] == 0x200D || string[i] == 0x200C) -- item->attributes[slen-1].dontPrint = true; // Hide ZWJ and ZWNJ characters -+ if (string[i] == 0x200D || string[i] == 0x200C) { -+ // Check that we do not run out of bounds when setting item->attributes. If we do -+ // run out of bounds then this function will return false, the necessary amount of -+ // memory is reallocated, and this function will then be called again. -+ if (slen <= item->num_glyphs) -+ item->attributes[slen-1].dontPrint = true; // Hide ZWJ and ZWNJ characters -+ } - } else { - glyphString[slen++] = (HB_UChar16) thai_get_glyph_index (font_type, rglyphs[lgi]); - } - diff --git a/extra/qt/fix-cursortox-crash.patch b/extra/qt/fix-cursortox-crash.patch deleted file mode 100644 index fbc9c1370..000000000 --- a/extra/qt/fix-cursortox-crash.patch +++ /dev/null @@ -1,32 +0,0 @@ -Index: fix-cursortox-crash.patch -=================================================================== ---- fix-cursortox-crash.patch (revision 0) -+++ fix-cursortox-crash.patch (arbetskopia) -#commit cac12f4592477d99ef6fffaad40345bf85ef53b5 -#Author: Jiang Jiang <jiang.jiang@nokia.com> -#Date: Mon Apr 2 12:32:05 2012 +0200 -# -# Fix a crash in cursorToX() when new block is added -# -# When an empty new block is being added, the layoutData->memory data -# will be 0, thus QTextEngine::attributes() will return 0. We should -# only access the attributes pointer when some text actually exist. -# -# Task-number: QTBUG-24718 -# Change-Id: I9ce9f7b57bccf24099a02832ce30fb6cebfaad33 -# -diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp -index ee658d9..16f7150 100644 ---- a/src/gui/text/qtextlayout.cpp -+++ b/src/gui/text/qtextlayout.cpp -@@ -2508,6 +2508,10 @@ qreal QTextLine::cursorToX(int *cursorPos, Edge edge) const - int pos = *cursorPos; - int itm; - const HB_CharAttributes *attributes = eng->attributes(); -+ if (!attributes) { -+ *cursorPos = 0; -+ return x.toReal(); -+ } - while (pos < line.from + line.length && !attributes[pos].charStop) - pos++; - if (pos == line.from + (int)line.length) { diff --git a/extra/qt/gcc47.patch b/extra/qt/gcc47.patch deleted file mode 100644 index 62c436e6a..000000000 --- a/extra/qt/gcc47.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalObject.h.me qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalObject.h ---- qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalObject.h.me 2012-01-24 11:24:14.729942043 +0100 -+++ qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalObject.h 2012-01-24 14:28:39.848109534 +0100 -@@ -57,9 +57,7 @@ namespace JSC { - - class JSGlobalObject : public JSVariableObject { - protected: -- using JSVariableObject::JSVariableObjectData; -- -- struct JSGlobalObjectData : public JSVariableObjectData { -+ struct JSGlobalObjectData : public JSVariableObject::JSVariableObjectData { - // We use an explicit destructor function pointer instead of a - // virtual destructor because we want to avoid adding a vtable - // pointer to this struct. Adding a vtable pointer would force the -diff -up qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSStaticScopeObject.h.me qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSStaticScopeObject.h ---- qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSStaticScopeObject.h.me 2012-01-24 11:40:07.167856677 +0100 -+++ qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSStaticScopeObject.h 2012-01-24 14:28:34.640306629 +0100 -@@ -32,8 +32,7 @@ namespace JSC{ - - class JSStaticScopeObject : public JSVariableObject { - protected: -- using JSVariableObject::JSVariableObjectData; -- struct JSStaticScopeObjectData : public JSVariableObjectData { -+ struct JSStaticScopeObjectData : public JSVariableObject::JSVariableObjectData { - JSStaticScopeObjectData() - : JSVariableObjectData(&symbolTable, ®isterStore + 1) - { diff --git a/extra/qtwebkit/python2-path.patch b/extra/qtwebkit/python2-path.patch deleted file mode 100644 index 2e270e6fc..000000000 --- a/extra/qtwebkit/python2-path.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- QtWebKit-2.2.0/Source/JavaScriptCore/DerivedSources.pro~ 2011-10-20 22:39:56.044519075 +0000 -+++ QtWebKit-2.2.0/Source/JavaScriptCore/DerivedSources.pro 2011-10-20 22:41:21.302047082 +0000 -@@ -88,5 +88,5 @@ - retgen.output = $$JSC_GENERATED_SOURCES_DIR/RegExpJitTables.h - retgen.wkScript = $$PWD/create_regex_tables - retgen.input = retgen.wkScript --retgen.commands = python $$retgen.wkScript > ${QMAKE_FILE_OUT} -+retgen.commands = python2 $$retgen.wkScript > ${QMAKE_FILE_OUT} - addExtraCompiler(retgen) ---- QtWebKit-2.2.0/Source/WebCore/CodeGenerators.pri~ 2011-10-20 22:44:23.827225580 +0000 -+++ QtWebKit-2.2.0/Source/WebCore/CodeGenerators.pri 2011-10-20 22:44:38.550707819 +0000 -@@ -640,7 +640,7 @@ - inspectorJSON.output = $${WC_GENERATED_SOURCES_DIR}/Inspector.idl - inspectorJSON.input = INSPECTOR_JSON - inspectorJSON.wkScript = $$PWD/inspector/generate-inspector-idl --inspectorJSON.commands = python $$inspectorJSON.wkScript -o $${WC_GENERATED_SOURCES_DIR}/Inspector.idl $$PWD/inspector/Inspector.json -+inspectorJSON.commands = python2 $$inspectorJSON.wkScript -o $${WC_GENERATED_SOURCES_DIR}/Inspector.idl $$PWD/inspector/Inspector.json - inspectorJSON.depends = $$PWD/inspector/generate-inspector-idl - inspectorJSON.wkAddOutputToSources = false - addExtraCompiler(inspectorJSON) -@@ -723,7 +723,7 @@ - entities.output = $${WC_GENERATED_SOURCES_DIR}/HTMLEntityTable.cpp - entities.input = HTML_ENTITIES - entities.wkScript = $$PWD/html/parser/create-html-entity-table --entities.commands = python $$entities.wkScript -o $${WC_GENERATED_SOURCES_DIR}/HTMLEntityTable.cpp $$HTML_ENTITIES -+entities.commands = python2 $$entities.wkScript -o $${WC_GENERATED_SOURCES_DIR}/HTMLEntityTable.cpp $$HTML_ENTITIES - entities.clean = ${QMAKE_FILE_OUT} - entities.depends = $$PWD/html/parser/create-html-entity-table - addExtraCompiler(entities) diff --git a/extra/slim/no-host.patch b/extra/slim/no-host.patch deleted file mode 100644 index c40f25bca..000000000 --- a/extra/slim/no-host.patch +++ /dev/null @@ -1,29 +0,0 @@ -Datum: Sun, 30 Jan 2011 12:49:00 +0200 -Von: Samuli Suominen <ssuominen@gentoo.org> -An: jgc@archlinux.org, andyrtr@archlinux.org, thayer@archlinux.org -Betreff: SLIM and ConsoleKit 0.4.2 (and up) - -People have been coming to #xfce after Arch's ConsoleKit 0.4.3 upgrade -to ask for help why Suspend / Hibernate / and such doesn't work. - -It's because SLIM is using pam_ck_connector.so and SLIM sets Host to localhost -and makes pam_ck_connector.so believe it's actually a *remote host* called -localhost and will refuse access. - -http://bugs.gentoo.org/346037 -https://developer.berlios.de/bugs/?func=detailbug&bug_id=17757&group_id=2663 -http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-misc/slim/files/346037-stop_setting_host_for_pam_ck_connector_so.patch?view=log - - -diff -aur old/app.cpp new/app.cpp ---- old/app.cpp 2011-01-30 12:39:34.033337944 +0100 -+++ new/app.cpp 2011-01-30 12:40:25.843337943 +0100 -@@ -228,8 +228,6 @@ - pam.start("slim"); - pam.set_item(PAM::Authenticator::TTY, DisplayName); - pam.set_item(PAM::Authenticator::Requestor, "root"); -- pam.set_item(PAM::Authenticator::Host, "localhost"); -- - } - catch(PAM::Exception& e){ - cerr << APPNAME << ": " << e << endl; diff --git a/extra/slim/restart.patch b/extra/slim/restart.patch deleted file mode 100644 index 4e5049000..000000000 --- a/extra/slim/restart.patch +++ /dev/null @@ -1,144 +0,0 @@ -http://developer.berlios.de/patch/?func=detailpatch&patch_id=2378&group_id=2663 - - -diff -aur slim-1.3.2.b/app.cpp slim-1.3.2.c/app.cpp ---- slim-1.3.2.b/app.cpp 2010-08-21 15:10:48.579631179 +0200 -+++ slim-1.3.2.c/app.cpp 2010-08-21 15:11:03.946389843 +0200 -@@ -104,6 +104,11 @@ - - extern App* LoginApp; - -+int xioerror(Display *disp) { -+ LoginApp->RestartServer(); -+ return 0; -+} -+ - void CatchSignal(int sig) { - cerr << APPNAME << ": unexpected signal " << sig << endl; - -@@ -114,19 +119,6 @@ - exit(ERR_EXIT); - } - -- --void AlarmSignal(int sig) { -- int pid = LoginApp->GetServerPID(); -- if(waitpid(pid, NULL, WNOHANG) == pid) { -- LoginApp->StopServer(); -- LoginApp->RemoveLock(); -- exit(OK_EXIT); -- } -- signal(sig, AlarmSignal); -- alarm(2); --} -- -- - void User1Signal(int sig) { - signal(sig, User1Signal); - } -@@ -277,7 +269,6 @@ - signal(SIGHUP, CatchSignal); - signal(SIGPIPE, CatchSignal); - signal(SIGUSR1, User1Signal); -- signal(SIGALRM, AlarmSignal); - - #ifndef XNEST_DEBUG - if (!force_nodaemon && cfg->getOption("daemon") == "yes") { -@@ -298,7 +289,6 @@ - - CreateServerAuth(); - StartServer(); -- alarm(2); - #endif - - } -@@ -614,6 +604,8 @@ - int status; - while (wpid != pid) { - wpid = wait(&status); -+ if (wpid == ServerPID) -+ xioerror(Dpy); // Server died, simulate IO error - } - if (WIFEXITED(status) && WEXITSTATUS(status)) { - LoginPanel->Message("Failed to execute login command"); -@@ -659,9 +651,6 @@ - - - void App::Reboot() { -- // Stop alarm clock -- alarm(0); -- - #ifdef USE_PAM - try{ - pam.end(); -@@ -684,9 +673,6 @@ - - - void App::Halt() { -- // Stop alarm clock -- alarm(0); -- - #ifdef USE_PAM - try{ - pam.end(); -@@ -772,6 +758,7 @@ - - StopServer(); - RemoveLock(); -+ while (waitpid(-1, NULL, WNOHANG) > 0); // Collects all dead childrens - Run(); - } - -@@ -842,6 +829,7 @@ - - for(cycles = 0; cycles < ncycles; cycles++) { - if((Dpy = XOpenDisplay(DisplayName))) { -+ XSetIOErrorHandler(xioerror); - return 1; - } else { - if(!ServerTimeout(1, (char *) "X server to begin accepting connections")) -@@ -926,9 +914,6 @@ - ServerPID = -1; - break; - } -- alarm(15); -- pause(); -- alarm(0); - - // Wait for server to start up - if(WaitForServer() == 0) { -@@ -963,15 +948,12 @@ - - - void App::StopServer() { -- // Stop alars clock and ignore signals -- alarm(0); - signal(SIGQUIT, SIG_IGN); - signal(SIGINT, SIG_IGN); - signal(SIGHUP, SIG_IGN); - signal(SIGPIPE, SIG_IGN); - signal(SIGTERM, SIG_DFL); - signal(SIGKILL, SIG_DFL); -- signal(SIGALRM, SIG_DFL); - - // Catch X error - XSetIOErrorHandler(IgnoreXIO); -diff -aur slim-1.3.2.b/app.h slim-1.3.2.c/app.h ---- slim-1.3.2.b/app.h 2010-08-21 15:10:40.499582804 +0200 -+++ slim-1.3.2.c/app.h 2010-08-21 15:11:03.946389843 +0200 -@@ -34,6 +34,7 @@ - ~App(); - void Run(); - int GetServerPID(); -+ void RestartServer(); - void StopServer(); - - bool serverStarted; -@@ -49,7 +50,6 @@ - void Console(); - void Exit(); - void KillAllClients(Bool top); -- void RestartServer(); - void ReadConfig(); - void OpenLog(); - void CloseLog(); diff --git a/extra/slim/sigterm.patch b/extra/slim/sigterm.patch deleted file mode 100644 index fbaeb7116..000000000 --- a/extra/slim/sigterm.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff -aur old/panel.cpp new/panel.cpp ---- old/panel.cpp 2011-04-29 15:15:57.210134850 +0200 -+++ new/panel.cpp 2011-04-29 15:16:17.260285407 +0200 -@@ -10,6 +10,7 @@ - */ - - #include <sstream> -+#include <poll.h> - #include "panel.h" - - using namespace std; -@@ -288,16 +289,24 @@ - field=curfield; - bool loop = true; - OnExpose(); -+ -+ struct pollfd x11_pfd = {0}; -+ x11_pfd.fd = ConnectionNumber(Dpy); -+ x11_pfd.events = POLLIN; - while(loop) { -- XNextEvent(Dpy, &event); -- switch(event.type) { -- case Expose: -- OnExpose(); -- break; -- -- case KeyPress: -- loop=OnKeyPress(event); -- break; -+ if(XPending(Dpy) || poll(&x11_pfd, 1, -1) > 0) { -+ while(XPending(Dpy)) { -+ XNextEvent(Dpy, &event); -+ switch(event.type) { -+ case Expose: -+ OnExpose(); -+ break; -+ -+ case KeyPress: -+ loop=OnKeyPress(event); -+ break; -+ } -+ } - } - } - diff --git a/extra/slim/slim-1.3.2-libpng15.patch b/extra/slim/slim-1.3.2-libpng15.patch deleted file mode 100644 index 720608567..000000000 --- a/extra/slim/slim-1.3.2-libpng15.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- png.c -+++ png.c -@@ -57,7 +57,7 @@ - return(0); - } - -- if (setjmp(png_ptr->jmpbuf)) -+ if (setjmp(png_jmpbuf(png_ptr))) - { - png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp) NULL); - fclose(infile); diff --git a/extra/streamtuner/PKGBUILD b/extra/streamtuner/PKGBUILD deleted file mode 100644 index ea344e218..000000000 --- a/extra/streamtuner/PKGBUILD +++ /dev/null @@ -1,49 +0,0 @@ -# $Id: PKGBUILD 148934 2012-02-05 11:56:39Z ibiru $ -# Contributor: Greg Grabinski <greg@grabinski.ch> -# Maintainer: ndreas Radke <andyrtr@archlinux.org> - -pkgname=streamtuner -pkgver=0.99.99 -pkgrel=12 -pkgdesc="A stream directory browser" -arch=('i686' 'x86_64') -url="http://www.nongnu.org/streamtuner/" -license=('custom') -depends=('taglib' 'libxml2' 'gtk2' 'curl>=7.16.2' 'pygtk>=2.13.0-2') -conflicts=('streamtuner-live365') -replaces=('streamtuner-live365') -source=(http://savannah.nongnu.org/download/streamtuner/$pkgname-$pkgver.tar.gz \ - http://savannah.nongnu.org/download/streamtuner/streamtuner-0.99.99-live365.diff \ - http://savannah.nongnu.org/download/streamtuner/streamtuner-0.99.99-pygtk-2.6.diff - streamtuner-0.99.99-shoutcast.diff - shoutcast-redesign-patch.diff) -options=('!libtool' '!emptydirs') -md5sums=('2027b7c34e85b594524b0b4351c14362' - '8aa1994a849b05d2b8fffbda702b8a25' - '7aff45a41c60358cb2332c7ce644f661' - '1eab6edce130e1a1e5f208cd3ed6766a' - '8a3a17a1719a79353d6ad7ac8564947b') - -build() { - cd ${srcdir}/${pkgname}-${pkgver} - patch -p0 -i ${srcdir}/streamtuner-0.99.99-live365.diff - patch -p0 -i ${srcdir}/streamtuner-0.99.99-pygtk-2.6.diff - # fix http://bugs.archlinux.org/task/10308 - patch -p0 -i ${srcdir}/streamtuner-0.99.99-shoutcast.diff - # fix http://bugs.archlinux.org/task/11463 - patch -p1 -i ${srcdir}/shoutcast-redesign-patch.diff - - # python2 fixes - sed -i "s:^for ac_prog in python:for ac_prog in python2:" ${srcdir}/${pkgname}-${pkgver}/configure - - ./configure --prefix=/usr - make -} - -package() { - cd ${srcdir}/${pkgname}-${pkgver} - make prefix=${pkgdir}/usr install - - #Add license file - install -Dm0644 ${srcdir}/${pkgname}-${pkgver}/COPYING ${pkgdir}/usr/share/licenses/${pkgname}/COPYING -} diff --git a/extra/streamtuner/shoutcast-redesign-patch.diff b/extra/streamtuner/shoutcast-redesign-patch.diff deleted file mode 100644 index 644e2273e..000000000 --- a/extra/streamtuner/shoutcast-redesign-patch.diff +++ /dev/null @@ -1,12 +0,0 @@ -diff -uar streamtuner-0.99.99-orig/src/plugins/shoutcast/shoutcast.c streamtuner-0.99.99-patched/src/plugins/shoutcast/shoutcast.c ---- streamtuner-0.99.99-orig/src/plugins/shoutcast/shoutcast.c 2008-09-12 18:04:00.229785732 -0400 -+++ streamtuner-0.99.99-patched/src/plugins/shoutcast/shoutcast.c 2008-09-12 18:05:56.716440720 -0400 -@@ -37,7 +37,7 @@ - - /*** cpp *********************************************************************/ - --#define SHOUTCAST_ROOT "http://www.shoutcast.com/" -+#define SHOUTCAST_ROOT "http://classic.shoutcast.com/" - - #define MAX_STREAMS_PER_PAGE 100 /* enforced by SHOUTcast */ - diff --git a/extra/streamtuner/streamtuner-0.99.99-shoutcast.diff b/extra/streamtuner/streamtuner-0.99.99-shoutcast.diff deleted file mode 100644 index e7fcbca94..000000000 --- a/extra/streamtuner/streamtuner-0.99.99-shoutcast.diff +++ /dev/null @@ -1,41 +0,0 @@ ---- src/plugins/shoutcast/shoutcast.c.orig 2004-12-19 15:21:00.000000000 +0000 -+++ src/plugins/shoutcast/shoutcast.c 2008-03-16 10:39:24.000000000 +0000 -@@ -94,6 +94,8 @@ - - GNode *parent_node; - SHOUTcastStream *stream; -+ -+ int parse_genres; - } ReloadInfo; - - /*** variable declarations ***************************************************/ -@@ -518,6 +520,7 @@ - info.npages = 0; - info.parent_node = NULL; - info.stream = NULL; -+ info.parse_genres = 0; - - status = st_transfer_session_get_by_line(session, - url, -@@ -565,10 +568,16 @@ - info->stream = stream_new_cb(NULL); - info->stream->url_postfix = st_sgml_ref_expand_len(s1, s2 - s1); - } -- else if (info->page < 2 -- && (((s1 = st_str_has_prefix_span(line, "\t<OPTION VALUE=\"")) -- || (s1 = st_str_has_prefix_span(line, "\t\t<OPTION VALUE=\""))) -- && (s2 = strstr(s1, "\">")))) -+ else if (info->page < 2 && (s1 = st_strstr_span(line, "<OPTION VALUE=\"TopTen\">"))) -+ { -+ info->parse_genres = 1; -+ } -+ else if (info->page < 2 && info->parse_genres == 1 && (s1 = st_strstr_span(line, "</SELECT>"))) -+ { -+ info->parse_genres = 0; -+ } -+ else if (info->page < 2 && info->parse_genres == 1 -+ && ((s1 = st_strstr_span(line, "<OPTION VALUE=\"")) && (s2 = strstr(s1, "\">")))) - { - STCategory *category; - GNode *node; - diff --git a/extra/sysklogd/sysklogd-debian.patch b/extra/sysklogd/sysklogd-debian.patch deleted file mode 100644 index 0117af5f2..000000000 --- a/extra/sysklogd/sysklogd-debian.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- sysklogd-1.5.orig/syslogd.c -+++ sysklogd-1.5/syslogd.c -@@ -2392,7 +2392,7 @@ - if (*p == '\0' || *p == '#') - continue; - #if CONT_LINE -- strcpy(cline, p); -+ memmove(cline, p, strlen(p)+1); - #endif - for (p = strchr(cline, '\0'); isspace(*--p);); - #if CONT_LINE ---- sysklogd-1.5.orig/ksym_mod.c -+++ sysklogd-1.5/ksym_mod.c -@@ -189,7 +189,6 @@ - else - Syslog(LOG_ERR, "Error loading kernel symbols " \ - "- %s\n", strerror(errno)); -- fclose(ksyms); - return(0); - } - diff --git a/extra/systemd/0001-check-for-proper-return-from-dirent_ensure_type.patch b/extra/systemd/0001-check-for-proper-return-from-dirent_ensure_type.patch deleted file mode 100644 index f8f6d1fa5..000000000 --- a/extra/systemd/0001-check-for-proper-return-from-dirent_ensure_type.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 7e5d190ccce8dc064d5756225e306e65fa534ae9 Mon Sep 17 00:00:00 2001 -From: Dave Reisner <dreisner@archlinux.org> -Date: Mon, 2 Apr 2012 08:20:34 -0400 -Subject: [PATCH] check for proper return from dirent_ensure_type - -Fixes 'systemctl list-unit-files', which previously returned only: - - Failed to issue method call: No such file or directory ---- - src/install.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/install.c b/src/install.c -index 174d79b..9256116 100644 ---- a/src/install.c -+++ b/src/install.c -@@ -1853,7 +1853,7 @@ int unit_file_get_list( - - r = dirent_ensure_type(d, de); - if (r < 0) { -- if (errno == ENOENT) -+ if (r == -ENOENT) - continue; - - goto finish; --- -1.7.9.5 - diff --git a/extra/systemd/0001-logind-close-FIFO-before-ending-sessions-cleanly.patch b/extra/systemd/0001-logind-close-FIFO-before-ending-sessions-cleanly.patch deleted file mode 100644 index fa133ca3c..000000000 --- a/extra/systemd/0001-logind-close-FIFO-before-ending-sessions-cleanly.patch +++ /dev/null @@ -1,156 +0,0 @@ -From 75c8e3cffd7da8eede614cf61384957af2c82a29 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering <lennart@poettering.net> -Date: Thu, 22 Mar 2012 02:06:40 +0100 -Subject: [PATCH] logind: close FIFO before ending sessions cleanly - -For clean session endings ask logind explicitly to get rid of the FIFO -before closing it so that the FIFO logic doesn't result in su/sudo to be -terminated immediately. ---- - src/login/logind-dbus.c | 30 ++++++++++++++++++++ - src/login/pam-module.c | 71 +++++++++++++++++++++++++++++++++++++++++++++-- - 2 files changed, 98 insertions(+), 3 deletions(-) - -diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c -index d8f4d89..ea6b89f 100644 ---- a/src/login/logind-dbus.c -+++ b/src/login/logind-dbus.c -@@ -80,6 +80,9 @@ - " <arg name=\"seat\" type=\"s\" direction=\"out\"/>\n" \ - " <arg name=\"vtnr\" type=\"u\" direction=\"out\"/>\n" \ - " </method>\n" \ -+ " <method name=\"ReleaseSession\">\n" \ -+ " <arg name=\"id\" type=\"s\" direction=\"in\"/>\n" \ -+ " </method>\n" \ - " <method name=\"ActivateSession\">\n" \ - " <arg name=\"id\" type=\"s\" direction=\"in\"/>\n" \ - " </method>\n" \ -@@ -1075,6 +1078,33 @@ static DBusHandlerResult manager_message_handler( - if (r < 0) - return bus_send_error_reply(connection, message, &error, r); - -+ } else if (dbus_message_is_method_call(message, "org.freedesktop.login1.Manager", "ReleaseSession")) { -+ const char *name; -+ Session *session; -+ -+ if (!dbus_message_get_args( -+ message, -+ &error, -+ DBUS_TYPE_STRING, &name, -+ DBUS_TYPE_INVALID)) -+ return bus_send_error_reply(connection, message, &error, -EINVAL); -+ -+ session = hashmap_get(m->sessions, name); -+ if (!session) -+ return bus_send_error_reply(connection, message, &error, -ENOENT); -+ -+ /* We use the FIFO to detect stray sessions where the -+ process invoking PAM dies abnormally. We need to make -+ sure that that process is not killed if at the clean -+ end of the session it closes the FIFO. Hence, with -+ this call explicitly turn off the FIFO logic, so that -+ the PAM code can finish clean up on its own */ -+ session_remove_fifo(session); -+ -+ reply = dbus_message_new_method_return(message); -+ if (!reply) -+ goto oom; -+ - } else if (dbus_message_is_method_call(message, "org.freedesktop.login1.Manager", "ActivateSession")) { - const char *name; - Session *session; -diff --git a/src/login/pam-module.c b/src/login/pam-module.c -index 8544413..4106d2b 100644 ---- a/src/login/pam-module.c -+++ b/src/login/pam-module.c -@@ -414,7 +414,6 @@ _public_ PAM_EXTERN int pam_sm_open_session( - "/org/freedesktop/login1", - "org.freedesktop.login1.Manager", - "CreateSession"); -- - if (!m) { - pam_syslog(handle, LOG_ERR, "Could not allocate create session message."); - r = PAM_BUF_ERR; -@@ -620,11 +619,77 @@ _public_ PAM_EXTERN int pam_sm_close_session( - int argc, const char **argv) { - - const void *p = NULL; -+ const char *id; -+ DBusConnection *bus = NULL; -+ DBusMessage *m = NULL, *reply = NULL; -+ DBusError error; -+ int r; - -- pam_get_data(handle, "systemd.session-fd", &p); -+ assert(handle); -+ -+ dbus_error_init(&error); -+ -+ id = pam_getenv(handle, "XDG_SESSION_ID"); -+ if (id) { -+ -+ /* Before we go and close the FIFO we need to tell -+ * logind that this is a clean session shutdown, so -+ * that it doesn't just go and slaughter us -+ * immediately after closing the fd */ -+ -+ bus = dbus_bus_get_private(DBUS_BUS_SYSTEM, &error); -+ if (!bus) { -+ pam_syslog(handle, LOG_ERR, "Failed to connect to system bus: %s", bus_error_message(&error)); -+ r = PAM_SESSION_ERR; -+ goto finish; -+ } -+ -+ m = dbus_message_new_method_call( -+ "org.freedesktop.login1", -+ "/org/freedesktop/login1", -+ "org.freedesktop.login1.Manager", -+ "ReleaseSession"); -+ if (!m) { -+ pam_syslog(handle, LOG_ERR, "Could not allocate release session message."); -+ r = PAM_BUF_ERR; -+ goto finish; -+ } -+ -+ if (!dbus_message_append_args(m, -+ DBUS_TYPE_STRING, &id, -+ DBUS_TYPE_INVALID)) { -+ pam_syslog(handle, LOG_ERR, "Could not attach parameters to message."); -+ r = PAM_BUF_ERR; -+ goto finish; -+ } - -+ reply = dbus_connection_send_with_reply_and_block(bus, m, -1, &error); -+ if (!reply) { -+ pam_syslog(handle, LOG_ERR, "Failed to release session: %s", bus_error_message(&error)); -+ r = PAM_SESSION_ERR; -+ goto finish; -+ } -+ } -+ -+ r = PAM_SUCCESS; -+ -+finish: -+ pam_get_data(handle, "systemd.session-fd", &p); - if (p) - close_nointr(PTR_TO_INT(p) - 1); - -- return PAM_SUCCESS; -+ dbus_error_free(&error); -+ -+ if (bus) { -+ dbus_connection_close(bus); -+ dbus_connection_unref(bus); -+ } -+ -+ if (m) -+ dbus_message_unref(m); -+ -+ if (reply) -+ dbus_message_unref(reply); -+ -+ return r; - } --- -1.7.9.5 - diff --git a/extra/systemd/0001-util-never-follow-symlinks-in-rm_rf_children.patch b/extra/systemd/0001-util-never-follow-symlinks-in-rm_rf_children.patch deleted file mode 100644 index 7ac9251b3..000000000 --- a/extra/systemd/0001-util-never-follow-symlinks-in-rm_rf_children.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 5ebff5337594d690b322078c512eb222d34aaa82 Mon Sep 17 00:00:00 2001 -From: Michal Schmidt <mschmidt@redhat.com> -Date: Fri, 2 Mar 2012 10:39:10 +0100 -Subject: [PATCH] util: never follow symlinks in rm_rf_children() - -The function checks if the entry is a directory before recursing, but -there is a window between the check and the open, during which the -directory could be replaced with a symlink. - -CVE-2012-1174 -https://bugzilla.redhat.com/show_bug.cgi?id=803358 ---- - src/util.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/util.c b/src/util.c -index 20cbc2b..dfc1dc6 100644 ---- a/src/util.c -+++ b/src/util.c -@@ -3593,7 +3593,8 @@ static int rm_rf_children(int fd, bool only_dirs, bool honour_sticky) { - if (is_dir) { - int subdir_fd; - -- if ((subdir_fd = openat(fd, de->d_name, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC)) < 0) { -+ subdir_fd = openat(fd, de->d_name, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW); -+ if (subdir_fd < 0) { - if (ret == 0 && errno != ENOENT) - ret = -errno; - continue; --- -1.7.9.4 - diff --git a/extra/systemd/PKGBUILD b/extra/systemd/PKGBUILD deleted file mode 100644 index 3a62d466d..000000000 --- a/extra/systemd/PKGBUILD +++ /dev/null @@ -1,127 +0,0 @@ -# $Id: PKGBUILD 158570 2012-05-04 23:57:21Z allan $ -# Maintainer: Dave Reisner <dreisner@archlinux.org> - -pkgbase=systemd -pkgname=('systemd' 'libsystemd') -pkgver=44 -pkgrel=7 -arch=('i686' 'x86_64') -url="http://www.freedesktop.org/wiki/Software/systemd" -license=('GPL2' 'LGPL2.1' 'MIT') -makedepends=('acl' 'cryptsetup' 'dbus-core' 'docbook-xsl' 'gperf' 'intltool' - 'kmod' 'libcap' 'libxslt' 'linux-api-headers' 'pam' 'udev' 'xz') -options=('!libtool') -source=("http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz" - "os-release" - 0001-util-never-follow-symlinks-in-rm_rf_children.patch - 0001-logind-close-FIFO-before-ending-sessions-cleanly.patch - 0001-check-for-proper-return-from-dirent_ensure_type.patch) -md5sums=('11f44ff74c87850064e4351518bcff17' - '752636def0db3c03f121f8b4f44a63cd' - 'b5863d6d4b47e2b5bda8eb57bde0d327' - 'd37833358ef6c23fad622ea4a0941d1f' - '11f930fd0a3966abc794bf9127a7dde0') - -build() { - cd "$pkgname-$pkgver" - - # https://bugzilla.redhat.com/show_bug.cgi?id=803358 (upstream 5ebff53375) - patch -Np1 <"$srcdir/0001-util-never-follow-symlinks-in-rm_rf_children.patch" - - # https://bugs.archlinux.org/task/28386 (upstream 75c8e3cffd) - patch -Np1 <"$srcdir/0001-logind-close-FIFO-before-ending-sessions-cleanly.patch" - - # Fix broken 'systemctl list-unit-files' (upstream fb5ef067c49) - patch -Np1 <"$srcdir/0001-check-for-proper-return-from-dirent_ensure_type.patch" - - ./configure --sysconfdir=/etc \ - --libexecdir=/usr/lib \ - --with-pamlibdir=/usr/lib/security \ - --localstatedir=/var \ - --with-distro=arch \ - --enable-split-usr \ - --disable-ima - - make -} - -package_systemd() { - pkgdesc="system and service manager" - depends=('acl' 'dbus-core' 'libsystemd' 'kbd' 'kmod' 'libcap' 'pam' 'util-linux' 'udev' 'xz') - optdepends=('cryptsetup: required for encrypted block devices' - 'dbus-python: systemd-analyze' - 'initscripts: legacy support for hostname and vconsole setup' - 'initscripts-systemd: native boot and initialization scripts' - 'python2-cairo: systemd-analyze' - 'systemd-arch-units: collection of native unit files for Arch daemon/init scripts' - 'systemd-sysvcompat: symlink package to provide sysvinit binaries') - backup=(etc/dbus-1/system.d/org.freedesktop.systemd1.conf - etc/dbus-1/system.d/org.freedesktop.hostname1.conf - etc/dbus-1/system.d/org.freedesktop.login1.conf - etc/dbus-1/system.d/org.freedesktop.locale1.conf - etc/dbus-1/system.d/org.freedesktop.timedate1.conf - etc/systemd/system.conf - etc/systemd/user.conf - etc/systemd/systemd-logind.conf - etc/systemd/systemd-journald.conf) - install="$pkgname.install" - - cd "$pkgname-$pkgver" - - make DESTDIR="$pkgdir" install - - install -Dm644 "$srcdir/os-release" "$pkgdir/etc/os-release" - - printf "d /run/console 755 root root\n" >"$pkgdir/usr/lib/tmpfiles.d/console.conf" - chmod 644 "$pkgdir/usr/lib/tmpfiles.d/console.conf" - - # symlink to /bin/systemd for compat and sanity - install -dm755 "$pkgdir/bin" - ln -s ../usr/lib/systemd/systemd "$pkgdir/bin/systemd" - - # use python2 for systemd-analyze - sed -i '1s/python$/python2/' "$pkgdir/usr/bin/systemd-analyze" - - # didn't build this... - rm -f "$pkgdir/usr/share/man/man1/systemadm.1" - - # fix .so links in manpage stubs - find "$pkgdir/usr/share/man" -type f -name '*.[[:digit:]]' \ - -exec sed -i '1s|^\.so \(.*\)\.\([[:digit:]]\+\)|.so man\2/\1.\2|' {} + - - # rename man pages to avoid conflicts with sysvinit and initscripts - manpages=(man8/{telinit,halt,reboot,poweroff,runlevel,shutdown}.8 - man5/{hostname,{vconsole,locale}.conf}.5) - cd "$pkgdir/usr/share/man" - for manpage in "${manpages[@]}"; do - IFS='/' read section page <<< "$manpage" - mv "$manpage" "$section/systemd.$page" - done - - # move bash-completion and symlink for loginctl - install -Dm644 "$pkgdir/etc/bash_completion.d/systemd-bash-completion.sh" \ - "$pkgdir/usr/share/bash-completion/completions/systemctl" - ln -s systemctl "$pkgdir/usr/share/bash-completion/completions/loginctl" - rm -rf "$pkgdir/etc/bash_completion.d" - - # fix systemctl where - find "$pkgdir" -type f -name '*.service' -exec \ - sed -i 's@\([=-]\)/bin/systemctl@\1/usr/bin/systemctl@g' {} + - - ### split off libsystemd (libs, includes, pkgconfig, man3) - install -dm755 "$srcdir"/libsystemd/usr/{include,lib/pkgconfig} - - cd "$srcdir"/libsystemd - mv "$pkgdir/usr/lib"/libsystemd-*.so* usr/lib - mv "$pkgdir/usr/include/systemd" usr/include - mv "$pkgdir/usr/lib/pkgconfig"/libsystemd-*.pc usr/lib/pkgconfig -} - -package_libsystemd() { - pkgdesc="systemd client libraries" - depends=('libcap' 'xz') - - mv "$srcdir/libsystemd"/* "$pkgdir" -} - -# vim: ft=sh syn=sh et diff --git a/extra/systemd/os-release b/extra/systemd/os-release deleted file mode 100644 index 5e24a6031..000000000 --- a/extra/systemd/os-release +++ /dev/null @@ -1,5 +0,0 @@ -NAME="Arch Linux" -ID=arch -PRETTY_NAME="Arch Linux" -ANSI_COLOR="1;36" - diff --git a/extra/systemd/systemd.install b/extra/systemd/systemd.install deleted file mode 100644 index 0c3e9abee..000000000 --- a/extra/systemd/systemd.install +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/sh - -checkgroups() { - if ! getent group lock >/dev/null; then - groupadd -g 54 lock - fi -} - -sd_booted() { - [ -e sys/fs/cgroup/systemd ] -} - -post_install() { - checkgroups - - if [ ! -f etc/machine-id ]; then - systemd-machine-id-setup - fi - - echo "systemd has been installed to /bin/systemd. Please ensure you append" - echo "init=/bin/systemd to your kernel command line in your bootloader." -} - -post_upgrade() { - checkgroups - - if [ ! -f etc/machine-id ]; then - systemd-machine-id-setup - fi - - if sd_booted; then - # we moved the binary in 44-2 to /usr, so a reexec leads to a - # coredump. refuse this reexec and warn the user that they should - # reboot instead. - if [ "$(vercmp 44-2 "$2")" -eq 1 ]; then - echo "warning: refusing to reexec systemd. the system should be rebooted." - else - systemctl daemon-reload - systemctl daemon-reexec - fi - fi -} - -post_remove() { - if getent group lock >/dev/null; then - groupdel lock - fi -} - -# vim:set ts=2 sw=2 et: diff --git a/extra/tunepimp/PKGBUILD b/extra/tunepimp/PKGBUILD deleted file mode 100644 index c28df94a5..000000000 --- a/extra/tunepimp/PKGBUILD +++ /dev/null @@ -1,49 +0,0 @@ -# $Id: PKGBUILD 149566 2012-02-08 14:42:07Z tpowa $ -# Maintainer: Tobias Powalowski <tpowa@archlinux.org> - -pkgname=tunepimp -pkgver=0.5.3 -pkgrel=9 -pkgdesc="A development library geared towards developers who wish to create MusicBrainz enabled tagging applications (aka libtunepimp)" -url="http://www.musicbrainz.org/products/tunepimp/" -arch=('i686' 'x86_64') -license=('GPL') -options=('!libtool' '!makeflags') -makedepends=('python2') -depends=('curl' 'musicbrainz' 'zlib' 'libmad' 'flac' 'libvorbis' 'readline' 'libmpcdec' 'libofa' 'taglib' 'libmp4v2') -replaces=('trm') -source=(ftp://ftp.musicbrainz.org/pub/musicbrainz/lib${pkgname}-${pkgver}.tar.gz - tunepimp-gcc43.patch - gcc4.4.patch - mp4v2-1.9.patch - tunepimp-curl-headers.patch) - - build() { - cd ${srcdir}/lib${pkgname}-${pkgver} - sed -i -e 's,-ltermcap,-lncurses,' configure - sed -i -e 's:-lthr:-lpthread:g' lib/threads/posix/Makefile.in - patch -Np0 -i ${srcdir}/tunepimp-gcc43.patch - patch -Np1 -i ${srcdir}/gcc4.4.patch - patch -Np1 -i ${srcdir}/mp4v2-1.9.patch - patch -Np1 -i ${srcdir}/tunepimp-curl-headers.patch - ./configure --prefix=/usr - make -} - -package() { - cd ${srcdir}/lib${pkgname}-${pkgver} - make DESTDIR=${pkgdir} install - - # install python bindings - cd python - python2 setup.py install --root=${pkgdir} - - # fix includes for kdemultimedia - cd ${pkgdir}/usr/include - ln -s tunepimp-0.5 tunepimp -} -md5sums=('09649f983acef679a548344ba7a9bb2f' - '40f48ad658958b909909b204bf9b1367' - 'b325bf8ed98bc008611ece0c418642f8' - '9f41d473a07e13808762545772fe3435' - '9cefd852995ebd2c4f733f2bef18c12a') diff --git a/extra/tunepimp/gcc4.4.patch b/extra/tunepimp/gcc4.4.patch deleted file mode 100644 index 2c5e4f9db..000000000 --- a/extra/tunepimp/gcc4.4.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -ruN libtunepimp-0.5.3.orig/lib/fileio.cpp libtunepimp-0.5.3/lib/fileio.cpp ---- libtunepimp-0.5.3.orig/lib/fileio.cpp 2009-05-28 11:49:43.000000000 -0700 -+++ libtunepimp-0.5.3/lib/fileio.cpp 2009-05-28 11:59:05.000000000 -0700 -@@ -124,7 +124,8 @@ - - void tmktempname(const char *path, char *newPath, int newPathLen) - { -- char *ptr, *temp; -+ const char *ptr; -+ char *temp; - - temp = (char *)malloc(strlen(path) + 32); - ptr = strrchr(path, dirSepChar); diff --git a/extra/tunepimp/mp4v2-1.9.patch b/extra/tunepimp/mp4v2-1.9.patch deleted file mode 100644 index ec3ec7261..000000000 --- a/extra/tunepimp/mp4v2-1.9.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -ur libtunepimp-0.5.3.orig/plugins/mp4/mp4.cpp libtunepimp-0.5.3/plugins/mp4/mp4.cpp ---- libtunepimp-0.5.3.orig/plugins/mp4/mp4.cpp 2009-07-10 15:50:20.000000000 +0300 -+++ libtunepimp-0.5.3/plugins/mp4/mp4.cpp 2009-07-10 15:51:18.000000000 +0300 -@@ -28,7 +28,7 @@ - #include <string.h> - #include <stdio.h> - #include <stdlib.h> --#include <mp4.h> -+#include <mp4v2/mp4v2.h> - #include "metadata.h" - #include "plugin.h" - #ifndef WIN32 -@@ -232,7 +232,7 @@ - - strcpy(mdata->fileFormat, fileName + strlen(fileName) - 3); - -- if (!MP4Close(mp4file)) -+ MP4Close(mp4file); - return 0; - - return 1; -@@ -316,7 +316,7 @@ - sprintf(temp, "%d", mdata->nonAlbum); - MP4SetMetadataFreeForm(mp4file, "MusicBrainz Non-Album", (u_int8_t *)temp, strlen(temp) + 1); - -- if (!MP4Close(mp4file)) -+ MP4Close(mp4file); - return 0; - - #ifndef WIN32 diff --git a/extra/tunepimp/tunepimp-curl-headers.patch b/extra/tunepimp/tunepimp-curl-headers.patch deleted file mode 100644 index 15e059bfa..000000000 --- a/extra/tunepimp/tunepimp-curl-headers.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/lib/protocol.cpp b/lib/protocol.cpp -index 3436f80..5adb2e5 100644 ---- a/lib/protocol.cpp -+++ b/lib/protocol.cpp -@@ -13,7 +13,6 @@ - #include <map> - #include <expat.h> - #include <curl/curl.h> --#include <curl/types.h> - #include <curl/easy.h> - using namespace std; - diff --git a/extra/tunepimp/tunepimp-gcc43.patch b/extra/tunepimp/tunepimp-gcc43.patch deleted file mode 100644 index e6d2a83e8..000000000 --- a/extra/tunepimp/tunepimp-gcc43.patch +++ /dev/null @@ -1,145 +0,0 @@ -diff -up lib/metadata.cpp.gcc43 lib/metadata.cpp ---- lib/metadata.cpp.gcc43 2006-11-18 04:52:33.000000000 -0600 -+++ lib/metadata.cpp 2008-02-21 20:39:10.000000000 -0600 -@@ -26,6 +26,7 @@ - ----------------------------------------------------------------------------*/ - #include <math.h> - #include <stdio.h> -+#include <stdlib.h> - #include "metadata.h" - #include "../config.h" - using namespace std; -diff -up lib/protocol.cpp.gcc43 lib/protocol.cpp ---- lib/protocol.cpp.gcc43 2006-11-28 14:25:04.000000000 -0600 -+++ lib/protocol.cpp 2008-02-21 20:39:10.000000000 -0600 -@@ -8,6 +8,7 @@ - -------------------------------------------------------------------*/ - #include <stdio.h> - #include <stdlib.h> -+#include <string.h> - #include <string> - #include <map> - #include <expat.h> -diff -up lib/utf8/utf8util.cpp.gcc43 lib/utf8/utf8util.cpp ---- lib/utf8/utf8util.cpp.gcc43 2006-11-18 04:52:26.000000000 -0600 -+++ lib/utf8/utf8util.cpp 2008-02-21 20:39:10.000000000 -0600 -@@ -26,6 +26,7 @@ - ----------------------------------------------------------------------------*/ - - #include <stdio.h> -+#include <stdlib.h> - #include "utf8util.h" - #include "utf8.h" - #ifdef WIN32 -diff -up lib/tunepimp.cpp.gcc43 lib/tunepimp.cpp ---- lib/tunepimp.cpp.gcc43 2006-11-18 04:52:33.000000000 -0600 -+++ lib/tunepimp.cpp 2008-02-21 20:39:10.000000000 -0600 -@@ -30,7 +30,9 @@ - #endif - #endif - -+#include <string.h> - #include <stdio.h> -+#include <stdlib.h> - #include <map> - using namespace std; - -diff -up lib/c_wrapper.cpp.gcc43 lib/c_wrapper.cpp ---- lib/c_wrapper.cpp.gcc43 2006-11-18 04:52:33.000000000 -0600 -+++ lib/c_wrapper.cpp 2008-02-21 20:39:10.000000000 -0600 -@@ -24,6 +24,7 @@ - $Id: tunepimp-0.5.3-gcc43.patch,v 1.1 2008/04/07 05:49:36 philantrop Exp $ - - ----------------------------------------------------------------------------*/ -+#include <stdlib.h> - #include "tunepimp.h" - #include "mutex.h" - #include "tp_c.h" -diff -up lib/readmeta.cpp.gcc43 lib/readmeta.cpp ---- lib/readmeta.cpp.gcc43 2006-11-18 04:52:33.000000000 -0600 -+++ lib/readmeta.cpp 2008-02-21 20:39:10.000000000 -0600 -@@ -31,6 +31,7 @@ - #endif - - #include <stdio.h> -+#include <stdlib.h> - #ifndef WIN32 - #include <unistd.h> - #endif -diff -up lib/fileio.cpp.gcc43 lib/fileio.cpp ---- lib/fileio.cpp.gcc43 2006-11-18 04:52:33.000000000 -0600 -+++ lib/fileio.cpp 2008-02-21 20:39:10.000000000 -0600 -@@ -27,6 +27,8 @@ - - #include <assert.h> - #include <errno.h> -+#include <stdlib.h> -+#include <string.h> - #include <string> - #ifndef WIN32 - #include <unistd.h> -diff -up plugins/mp4/mp4.cpp.gcc43 plugins/mp4/mp4.cpp ---- plugins/mp4/mp4.cpp.gcc43 2006-11-18 04:51:08.000000000 -0600 -+++ plugins/mp4/mp4.cpp 2008-02-21 20:39:10.000000000 -0600 -@@ -27,6 +27,7 @@ - - #include <string.h> - #include <stdio.h> -+#include <stdlib.h> - #include <mp4.h> - #include "metadata.h" - #include "plugin.h" -diff -up plugins/mp3/id3_meta.cpp.gcc43 plugins/mp3/id3_meta.cpp ---- plugins/mp3/id3_meta.cpp.gcc43 2006-11-18 04:51:07.000000000 -0600 -+++ plugins/mp3/id3_meta.cpp 2008-02-21 20:41:35.000000000 -0600 -@@ -26,6 +26,7 @@ - ----------------------------------------------------------------------------*/ - - #include <stdio.h> -+#include <stdlib.h> - #include <time.h> - #include <ctype.h> - #include <musicbrainz/mb_c.h> -diff -up plugins/mp3/id3_2_3_meta.cpp.gcc43 plugins/mp3/id3_2_3_meta.cpp ---- plugins/mp3/id3_2_3_meta.cpp.gcc43 2006-11-18 04:51:07.000000000 -0600 -+++ plugins/mp3/id3_2_3_meta.cpp 2008-02-21 20:41:59.000000000 -0600 -@@ -26,6 +26,7 @@ - ----------------------------------------------------------------------------*/ - - #include <stdio.h> -+#include <stdlib.h> - #include <assert.h> - #include <ctype.h> - #include <musicbrainz/mb_c.h> -diff -up plugins/wma/wma.cpp.gcc43 plugins/wma/wma.cpp ---- plugins/wma/wma.cpp.gcc43 2006-11-18 04:51:28.000000000 -0600 -+++ plugins/wma/wma.cpp 2008-02-21 20:39:10.000000000 -0600 -@@ -27,6 +27,7 @@ - - #include <string.h> - #include <stdio.h> -+#include <stdlib.h> - #include <wmafile.h> - #include "metadata.h" - #include "plugin.h" -diff -up plugins/wma/wmafile.cpp.gcc43 plugins/wma/wmafile.cpp ---- plugins/wma/wmafile.cpp.gcc43 2006-11-18 04:51:28.000000000 -0600 -+++ plugins/wma/wmafile.cpp 2008-02-21 20:39:10.000000000 -0600 -@@ -19,6 +19,7 @@ - * USA * - ***************************************************************************/ - -+#include <string.h> - #include <tstring.h> - #include <wmafile.h> - #include <wmatag.h> -diff -up include/tunepimp-0.5/metadata.h.gcc43 include/tunepimp-0.5/metadata.h ---- include/tunepimp-0.5/metadata.h.gcc43 2006-11-18 04:52:08.000000000 -0600 -+++ include/tunepimp-0.5/metadata.h 2008-02-21 20:39:10.000000000 -0600 -@@ -27,6 +27,7 @@ - #ifndef __METADATA_H__ - #define __METADATA_H__ - -+#include <string.h> - #include <string> - #include <cstdio>
\ No newline at end of file diff --git a/extra/watchdog/watchdog-5.9-use-oom_score_adj.patch b/extra/watchdog/watchdog-5.9-use-oom_score_adj.patch deleted file mode 100644 index 90508d777..000000000 --- a/extra/watchdog/watchdog-5.9-use-oom_score_adj.patch +++ /dev/null @@ -1,91 +0,0 @@ -diff -ur watchdog-5.9.orig/src/watchdog.c watchdog-5.9/src/watchdog.c ---- watchdog-5.9.orig/src/watchdog.c 2010-06-16 15:45:51.000000000 +0200 -+++ watchdog-5.9/src/watchdog.c 2011-10-23 15:51:58.631689778 +0200 -@@ -636,7 +636,7 @@ - - /* allocate some memory to store a filename, this is needed later on even - * if the system runs out of memory */ -- filename_buf = (char*)malloc(max(strlen(logdir) + sizeof("/repair-bin.stdout") + 1, strlen("/proc//oom_adj") + sizeof(int) * CHAR_BIT * 10 / 3 + 1)); -+ filename_buf = (char*)malloc(max(strlen(logdir) + sizeof("/repair-bin.stdout") + 1, strlen("/proc//oom_score_adj") + sizeof(int) * CHAR_BIT * 10 / 3 + 1)); - if (!filename_buf) { - error(progname); - exit(1); -@@ -886,11 +886,19 @@ - #endif - - /* tell oom killer to not kill this process */ -- sprintf(filename_buf, "/proc/%d/oom_adj", pid); -+ sprintf(filename_buf, "/proc/%d/oom_score_adj", pid); - fp = fopen(filename_buf, "w"); - if (fp != NULL) { -- fprintf(fp, "-17\n"); -- (void) fclose(fp); -+ fprintf(fp, "-1000\n"); -+ (void) fclose(fp); -+ } -+ else { -+ sprintf(filename_buf, "/proc/%d/oom_adj", pid); -+ fp = fopen(filename_buf, "w"); -+ if (fp != NULL) { -+ fprintf(fp, "-17\n"); -+ (void) fclose(fp); -+ } - } - - /* main loop: update after <tint> seconds */ -diff -ur watchdog-5.9.orig/src/wd_keepalive.c watchdog-5.9/src/wd_keepalive.c ---- watchdog-5.9.orig/src/wd_keepalive.c 2010-06-16 15:45:49.000000000 +0200 -+++ watchdog-5.9/src/wd_keepalive.c 2011-10-23 15:50:43.061563281 +0200 -@@ -212,7 +212,7 @@ - FILE *fp; - char *configfile = CONFIG_FILENAME; - char *filename_buf; -- pid_t child_pid; -+ pid_t pid, child_pid; - int count = 0; - int c; - /* allow all options watchdog understands too */ -@@ -284,7 +284,7 @@ - - /* allocate some memory to store a filename, this is needed later on even - * if the system runs out of memory */ -- filename_buf = (char*)malloc(strlen("/proc//oom_adj") + sizeof(int) * CHAR_BIT * 10 / 3 + 1); -+ filename_buf = (char*)malloc(strlen("/proc//oom_score_adj") + sizeof(int) * CHAR_BIT * 10 / 3 + 1); - if (!filename_buf) { - error(progname); - exit(1); -@@ -363,9 +363,10 @@ - #endif - - /* tuck my process id away */ -+ pid = getpid(); - fp = fopen(KA_PIDFILE, "w"); - if ( fp != NULL ) { -- fprintf(fp, "%d\n", getpid()); -+ fprintf(fp, "%d\n", pid); - (void) fclose(fp); - } - -@@ -403,12 +404,20 @@ - #endif - - /* tell oom killer to not kill this process */ -- sprintf(filename_buf, "/proc/%d/oom_adj", getpid()); -+ sprintf(filename_buf, "/proc/%d/oom_score_adj", pid); - fp = fopen(filename_buf, "w"); - if (fp != NULL) { -- fprintf(fp, "-17\n"); -+ fprintf(fp, "-1000\n"); - (void) fclose(fp); - } -+ else { -+ sprintf(filename_buf, "/proc/%d/oom_adj", pid); -+ fp = fopen(filename_buf, "w"); -+ if (fp != NULL) { -+ fprintf(fp, "-17\n"); -+ (void) fclose(fp); -+ } -+ } - - /* main loop: update after <tint> seconds */ - while ( _running ) { diff --git a/extra/xf86-video-intel/0001-uxa-gen3-Remove-special-casing-of-solid-pictures.patch b/extra/xf86-video-intel/0001-uxa-gen3-Remove-special-casing-of-solid-pictures.patch deleted file mode 100644 index 5c3b1d7d6..000000000 --- a/extra/xf86-video-intel/0001-uxa-gen3-Remove-special-casing-of-solid-pictures.patch +++ /dev/null @@ -1,533 +0,0 @@ -From fbee314a4194671bfc6dfaa90141498a2f45de4e Mon Sep 17 00:00:00 2001 -From: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon, 27 Feb 2012 16:29:38 +0000 -Subject: [PATCH 1/5] uxa/gen3: Remove special casing of solid pictures - -Fixes use of alpha-groups and opacity masks in cairo. - -Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> ---- - src/i915_render.c | 366 ++++++++++++++++++----------------------------------- - 1 file changed, 122 insertions(+), 244 deletions(-) - -diff --git a/src/i915_render.c b/src/i915_render.c -index 87d2336..6210035 100644 ---- a/src/i915_render.c -+++ b/src/i915_render.c -@@ -257,11 +257,8 @@ i915_check_composite_texture(ScreenPtr screen, PicturePtr picture) - return FALSE; - } - -- if (picture->pSourcePict) { -- SourcePict *source = picture->pSourcePict; -- if (source->type == SourcePictTypeSolidFill) -- return TRUE; -- } -+ if (picture->pSourcePict) -+ return FALSE; - - if (picture->pDrawable) { - int w, h, i; -@@ -387,23 +384,6 @@ static Bool i915_texture_setup(PicturePtr picture, PixmapPtr pixmap, int unit) - } - - static void --i915_emit_composite_primitive_constant(intel_screen_private *intel, -- int srcX, int srcY, -- int maskX, int maskY, -- int dstX, int dstY, -- int w, int h) --{ -- OUT_VERTEX(dstX + w); -- OUT_VERTEX(dstY + h); -- -- OUT_VERTEX(dstX); -- OUT_VERTEX(dstY + h); -- -- OUT_VERTEX(dstX); -- OUT_VERTEX(dstY); --} -- --static void - i915_emit_composite_primitive_identity_source(intel_screen_private *intel, - int srcX, int srcY, - int maskX, int maskY, -@@ -470,29 +450,6 @@ i915_emit_composite_primitive_affine_source(intel_screen_private *intel, - } - - static void --i915_emit_composite_primitive_constant_identity_mask(intel_screen_private *intel, -- int srcX, int srcY, -- int maskX, int maskY, -- int dstX, int dstY, -- int w, int h) --{ -- OUT_VERTEX(dstX + w); -- OUT_VERTEX(dstY + h); -- OUT_VERTEX((maskX + w) * intel->scale_units[0][0]); -- OUT_VERTEX((maskY + h) * intel->scale_units[0][1]); -- -- OUT_VERTEX(dstX); -- OUT_VERTEX(dstY + h); -- OUT_VERTEX(maskX * intel->scale_units[0][0]); -- OUT_VERTEX((maskY + h) * intel->scale_units[0][1]); -- -- OUT_VERTEX(dstX); -- OUT_VERTEX(dstY); -- OUT_VERTEX(maskX * intel->scale_units[0][0]); -- OUT_VERTEX(maskY * intel->scale_units[0][1]); --} -- --static void - i915_emit_composite_primitive_identity_source_mask(intel_screen_private *intel, - int srcX, int srcY, - int maskX, int maskY, -@@ -536,63 +493,61 @@ i915_emit_composite_primitive(intel_screen_private *intel, - - per_vertex = 2; /* dest x/y */ - -- if (! intel->render_source_is_solid) { -- src_unit = tex_unit++; -- -- is_affine_src = intel_transform_is_affine(intel->transform[src_unit]); -- if (is_affine_src) { -- if (!intel_get_transformed_coordinates(srcX, srcY, -- intel-> -- transform[src_unit], -- &src_x[0], -- &src_y[0])) -- return; -- -- if (!intel_get_transformed_coordinates(srcX, srcY + h, -- intel-> -- transform[src_unit], -- &src_x[1], -- &src_y[1])) -- return; -- -- if (!intel_get_transformed_coordinates(srcX + w, srcY + h, -- intel-> -- transform[src_unit], -- &src_x[2], -- &src_y[2])) -- return; -- -- per_vertex += 2; /* src x/y */ -- } else { -- if (!intel_get_transformed_coordinates_3d(srcX, srcY, -- intel-> -- transform[src_unit], -- &src_x[0], -- &src_y[0], -- &src_w[0])) -- return; -- -- if (!intel_get_transformed_coordinates_3d(srcX, srcY + h, -- intel-> -- transform[src_unit], -- &src_x[1], -- &src_y[1], -- &src_w[1])) -- return; -- -- if (!intel_get_transformed_coordinates_3d(srcX + w, srcY + h, -- intel-> -- transform[src_unit], -- &src_x[2], -- &src_y[2], -- &src_w[2])) -- return; -- -- per_vertex += 4; /* src x/y/z/w */ -- } -+ src_unit = tex_unit++; -+ -+ is_affine_src = intel_transform_is_affine(intel->transform[src_unit]); -+ if (is_affine_src) { -+ if (!intel_get_transformed_coordinates(srcX, srcY, -+ intel-> -+ transform[src_unit], -+ &src_x[0], -+ &src_y[0])) -+ return; -+ -+ if (!intel_get_transformed_coordinates(srcX, srcY + h, -+ intel-> -+ transform[src_unit], -+ &src_x[1], -+ &src_y[1])) -+ return; -+ -+ if (!intel_get_transformed_coordinates(srcX + w, srcY + h, -+ intel-> -+ transform[src_unit], -+ &src_x[2], -+ &src_y[2])) -+ return; -+ -+ per_vertex += 2; /* src x/y */ -+ } else { -+ if (!intel_get_transformed_coordinates_3d(srcX, srcY, -+ intel-> -+ transform[src_unit], -+ &src_x[0], -+ &src_y[0], -+ &src_w[0])) -+ return; -+ -+ if (!intel_get_transformed_coordinates_3d(srcX, srcY + h, -+ intel-> -+ transform[src_unit], -+ &src_x[1], -+ &src_y[1], -+ &src_w[1])) -+ return; -+ -+ if (!intel_get_transformed_coordinates_3d(srcX + w, srcY + h, -+ intel-> -+ transform[src_unit], -+ &src_x[2], -+ &src_y[2], -+ &src_w[2])) -+ return; -+ -+ per_vertex += 4; /* src x/y/z/w */ - } - -- if (intel->render_mask && ! intel->render_mask_is_solid) { -+ if (intel->render_mask) { - mask_unit = tex_unit++; - - is_affine_mask = intel_transform_is_affine(intel->transform[mask_unit]); -@@ -650,15 +605,13 @@ i915_emit_composite_primitive(intel_screen_private *intel, - - OUT_VERTEX(dstX + w); - OUT_VERTEX(dstY + h); -- if (! intel->render_source_is_solid) { -- OUT_VERTEX(src_x[2] * intel->scale_units[src_unit][0]); -- OUT_VERTEX(src_y[2] * intel->scale_units[src_unit][1]); -- if (!is_affine_src) { -+ OUT_VERTEX(src_x[2] * intel->scale_units[src_unit][0]); -+ OUT_VERTEX(src_y[2] * intel->scale_units[src_unit][1]); -+ if (!is_affine_src) { - OUT_VERTEX(0.0); - OUT_VERTEX(src_w[2]); -- } - } -- if (intel->render_mask && ! intel->render_mask_is_solid) { -+ if (intel->render_mask) { - OUT_VERTEX(mask_x[2] * intel->scale_units[mask_unit][0]); - OUT_VERTEX(mask_y[2] * intel->scale_units[mask_unit][1]); - if (!is_affine_mask) { -@@ -669,15 +622,13 @@ i915_emit_composite_primitive(intel_screen_private *intel, - - OUT_VERTEX(dstX); - OUT_VERTEX(dstY + h); -- if (! intel->render_source_is_solid) { -- OUT_VERTEX(src_x[1] * intel->scale_units[src_unit][0]); -- OUT_VERTEX(src_y[1] * intel->scale_units[src_unit][1]); -- if (!is_affine_src) { -+ OUT_VERTEX(src_x[1] * intel->scale_units[src_unit][0]); -+ OUT_VERTEX(src_y[1] * intel->scale_units[src_unit][1]); -+ if (!is_affine_src) { - OUT_VERTEX(0.0); - OUT_VERTEX(src_w[1]); -- } - } -- if (intel->render_mask && ! intel->render_mask_is_solid) { -+ if (intel->render_mask) { - OUT_VERTEX(mask_x[1] * intel->scale_units[mask_unit][0]); - OUT_VERTEX(mask_y[1] * intel->scale_units[mask_unit][1]); - if (!is_affine_mask) { -@@ -688,15 +639,13 @@ i915_emit_composite_primitive(intel_screen_private *intel, - - OUT_VERTEX(dstX); - OUT_VERTEX(dstY); -- if (! intel->render_source_is_solid) { -- OUT_VERTEX(src_x[0] * intel->scale_units[src_unit][0]); -- OUT_VERTEX(src_y[0] * intel->scale_units[src_unit][1]); -- if (!is_affine_src) { -+ OUT_VERTEX(src_x[0] * intel->scale_units[src_unit][0]); -+ OUT_VERTEX(src_y[0] * intel->scale_units[src_unit][1]); -+ if (!is_affine_src) { - OUT_VERTEX(0.0); - OUT_VERTEX(src_w[0]); -- } - } -- if (intel->render_mask && ! intel->render_mask_is_solid) { -+ if (intel->render_mask) { - OUT_VERTEX(mask_x[0] * intel->scale_units[mask_unit][0]); - OUT_VERTEX(mask_y[0] * intel->scale_units[mask_unit][1]); - if (!is_affine_mask) { -@@ -729,29 +678,11 @@ i915_prepare_composite(int op, PicturePtr source_picture, - intel->render_dest_picture = dest_picture; - intel->render_dest = dest; - -- intel->render_source_is_solid = FALSE; -- if (source_picture->pSourcePict) { -- SourcePict *source = source_picture->pSourcePict; -- if (source->type == SourcePictTypeSolidFill) { -- intel->render_source_is_solid = TRUE; -- intel->render_source_solid = source->solidFill.color; -- } -- } -- if (!intel->render_source_is_solid && !intel_check_pitch_3d(source)) -+ if (!intel_check_pitch_3d(source)) - return FALSE; - -- intel->render_mask_is_solid = FALSE; -- if (mask) { -- if (mask_picture->pSourcePict) { -- SourcePict *source = mask_picture->pSourcePict; -- if (source->type == SourcePictTypeSolidFill) { -- intel->render_mask_is_solid = TRUE; -- intel->render_mask_solid = source->solidFill.color; -- } -- } -- if (!intel->render_mask_is_solid && !intel_check_pitch_3d(mask)) -- return FALSE; -- } -+ if (mask && !intel_check_pitch_3d(mask)) -+ return FALSE; - - if (!intel_check_pitch_3d(dest)) - return FALSE; -@@ -787,31 +718,27 @@ i915_prepare_composite(int op, PicturePtr source_picture, - intel->scale_units[1][1] = -1; - - floats_per_vertex = 2; /* dest x/y */ -- if (! intel->render_source_is_solid) { -- if (!i915_texture_setup(source_picture, source, tex_unit++)) { -- intel_debug_fallback(scrn, "fail to setup src texture\n"); -- return FALSE; -- } -- -- if (intel_transform_is_affine(source_picture->transform)) -- floats_per_vertex += 2; /* src x/y */ -- else -- floats_per_vertex += 4; /* src x/y/z/w */ -+ if (!i915_texture_setup(source_picture, source, tex_unit++)) { -+ intel_debug_fallback(scrn, "fail to setup src texture\n"); -+ return FALSE; - } - -- if (mask != NULL) { -- if (! intel->render_mask_is_solid) { -- if (!i915_texture_setup(mask_picture, mask, tex_unit++)) { -- intel_debug_fallback(scrn, -- "fail to setup mask texture\n"); -- return FALSE; -- } -+ if (intel_transform_is_affine(source_picture->transform)) -+ floats_per_vertex += 2; /* src x/y */ -+ else -+ floats_per_vertex += 4; /* src x/y/z/w */ - -- if (intel_transform_is_affine(mask_picture->transform)) -- floats_per_vertex += 2; /* mask x/y */ -- else -- floats_per_vertex += 4; /* mask x/y/z/w */ -+ if (mask != NULL) { -+ if (!i915_texture_setup(mask_picture, mask, tex_unit++)) { -+ intel_debug_fallback(scrn, -+ "fail to setup mask texture\n"); -+ return FALSE; - } -+ -+ if (intel_transform_is_affine(mask_picture->transform)) -+ floats_per_vertex += 2; /* mask x/y */ -+ else -+ floats_per_vertex += 4; /* mask x/y/z/w */ - } - - intel->i915_render_state.op = op; -@@ -827,17 +754,13 @@ i915_prepare_composite(int op, PicturePtr source_picture, - - intel->prim_emit = i915_emit_composite_primitive; - if (!mask) { -- if (intel->render_source_is_solid) -- intel->prim_emit = i915_emit_composite_primitive_constant; -- else if (intel->transform[0] == NULL) -+ if (intel->transform[0] == NULL) - intel->prim_emit = i915_emit_composite_primitive_identity_source; - else if (intel_transform_is_affine(intel->transform[0])) - intel->prim_emit = i915_emit_composite_primitive_affine_source; - } else { - if (intel->transform[0] == NULL) { -- if (intel->render_source_is_solid) -- intel->prim_emit = i915_emit_composite_primitive_constant_identity_mask; -- else if (intel->transform[1] == NULL) -+ if (intel->transform[1] == NULL) - intel->prim_emit = i915_emit_composite_primitive_identity_source_mask; - } - } -@@ -856,39 +779,25 @@ i915_composite_emit_shader(intel_screen_private *intel, CARD8 op) - PicturePtr mask_picture = intel->render_mask_picture; - PixmapPtr mask = intel->render_mask; - int src_reg, mask_reg; -- Bool is_solid_src, is_solid_mask; - Bool dest_is_alpha = PIXMAN_FORMAT_RGB(intel->render_dest_picture->format) == 0; -- int tex_unit, t; - FS_LOCALS(); - -- is_solid_src = intel->render_source_is_solid; -- is_solid_mask = intel->render_mask_is_solid; -- - FS_BEGIN(); - - /* Declare the registers necessary for our program. */ -- t = 0; -- if (is_solid_src) { -- i915_fs_dcl(FS_T8); -- src_reg = FS_T8; -- } else { -- i915_fs_dcl(FS_T0); -- i915_fs_dcl(FS_S0); -- t++; -- } -+ i915_fs_dcl(FS_T0); -+ i915_fs_dcl(FS_S0); - if (!mask) { - /* No mask, so load directly to output color */ -- if (! is_solid_src) { -- if (dest_is_alpha) -- src_reg = FS_R0; -- else -- src_reg = FS_OC; -+ if (dest_is_alpha) -+ src_reg = FS_R0; -+ else -+ src_reg = FS_OC; - -- if (intel_transform_is_affine(intel->transform[0])) -- i915_fs_texld(src_reg, FS_S0, FS_T0); -- else -- i915_fs_texldp(src_reg, FS_S0, FS_T0); -- } -+ if (intel_transform_is_affine(intel->transform[0])) -+ i915_fs_texld(src_reg, FS_S0, FS_T0); -+ else -+ i915_fs_texldp(src_reg, FS_S0, FS_T0); - - if (src_reg != FS_OC) { - if (dest_is_alpha) -@@ -897,35 +806,24 @@ i915_composite_emit_shader(intel_screen_private *intel, CARD8 op) - i915_fs_mov(FS_OC, i915_fs_operand_reg(src_reg)); - } - } else { -- if (is_solid_mask) { -- i915_fs_dcl(FS_T9); -- mask_reg = FS_T9; -- } else { -- i915_fs_dcl(FS_T0 + t); -- i915_fs_dcl(FS_S0 + t); -- } -+ i915_fs_dcl(FS_T1); -+ i915_fs_dcl(FS_S1); - -- tex_unit = 0; -- if (! is_solid_src) { -- /* Load the source_picture texel */ -- if (intel_transform_is_affine(intel->transform[tex_unit])) -- i915_fs_texld(FS_R0, FS_S0, FS_T0); -- else -- i915_fs_texldp(FS_R0, FS_S0, FS_T0); -+ /* Load the source_picture texel */ -+ if (intel_transform_is_affine(intel->transform[0])) -+ i915_fs_texld(FS_R0, FS_S0, FS_T0); -+ else -+ i915_fs_texldp(FS_R0, FS_S0, FS_T0); - -- src_reg = FS_R0; -- tex_unit++; -- } -+ src_reg = FS_R0; - -- if (! is_solid_mask) { -- /* Load the mask_picture texel */ -- if (intel_transform_is_affine(intel->transform[tex_unit])) -- i915_fs_texld(FS_R1, FS_S0 + t, FS_T0 + t); -- else -- i915_fs_texldp(FS_R1, FS_S0 + t, FS_T0 + t); -+ /* Load the mask_picture texel */ -+ if (intel_transform_is_affine(intel->transform[1])) -+ i915_fs_texld(FS_R1, FS_S1, FS_T1); -+ else -+ i915_fs_texldp(FS_R1, FS_S1, FS_T1); - -- mask_reg = FS_R1; -- } -+ mask_reg = FS_R1; - - if (dest_is_alpha) { - i915_fs_mul(FS_OC, -@@ -972,7 +870,6 @@ static void i915_emit_composite_setup(ScrnInfoPtr scrn) - PicturePtr dest_picture = intel->render_dest_picture; - PixmapPtr mask = intel->render_mask; - PixmapPtr dest = intel->render_dest; -- Bool is_solid_src, is_solid_mask; - int tex_count, t; - - intel->needs_render_state_emit = FALSE; -@@ -980,12 +877,7 @@ static void i915_emit_composite_setup(ScrnInfoPtr scrn) - IntelEmitInvarientState(scrn); - intel->last_3d = LAST_3D_RENDER; - -- is_solid_src = intel->render_source_is_solid; -- is_solid_mask = intel->render_mask_is_solid; -- -- tex_count = 0; -- tex_count += ! is_solid_src; -- tex_count += mask && ! is_solid_mask; -+ tex_count = 1 + (mask != NULL); - - assert(intel->in_batch_atomic); - -@@ -1007,15 +899,6 @@ static void i915_emit_composite_setup(ScrnInfoPtr scrn) - } - } - -- if (is_solid_src) { -- OUT_BATCH (_3DSTATE_DFLT_DIFFUSE_CMD); -- OUT_BATCH (intel->render_source_solid); -- } -- if (mask && is_solid_mask) { -- OUT_BATCH (_3DSTATE_DFLT_SPEC_CMD); -- OUT_BATCH (intel->render_mask_solid); -- } -- - /* BUF_INFO is an implicit flush, so avoid if the target has not changed. - * XXX However for reasons unfathomed, correct rendering in KDE requires - * at least a MI_FLUSH | INHIBIT_RENDER_CACHE_FLUSH here. -@@ -1058,20 +941,15 @@ static void i915_emit_composite_setup(ScrnInfoPtr scrn) - uint32_t ss2; - - ss2 = ~0; -- t = 0; -- if (! is_solid_src) { -- ss2 &= ~S2_TEXCOORD_FMT(t, TEXCOORDFMT_NOT_PRESENT); -- ss2 |= S2_TEXCOORD_FMT(t, -- intel_transform_is_affine(intel->transform[t]) ? -- TEXCOORDFMT_2D : TEXCOORDFMT_4D); -- t++; -- } -- if (mask && ! is_solid_mask) { -- ss2 &= ~S2_TEXCOORD_FMT(t, TEXCOORDFMT_NOT_PRESENT); -- ss2 |= S2_TEXCOORD_FMT(t, -- intel_transform_is_affine(intel->transform[t]) ? -+ ss2 &= ~S2_TEXCOORD_FMT(0, TEXCOORDFMT_NOT_PRESENT); -+ ss2 |= S2_TEXCOORD_FMT(0, -+ intel_transform_is_affine(intel->transform[0]) ? -+ TEXCOORDFMT_2D : TEXCOORDFMT_4D); -+ if (mask) { -+ ss2 &= ~S2_TEXCOORD_FMT(1, TEXCOORDFMT_NOT_PRESENT); -+ ss2 |= S2_TEXCOORD_FMT(1, -+ intel_transform_is_affine(intel->transform[1]) ? - TEXCOORDFMT_2D : TEXCOORDFMT_4D); -- t++; - } - - if (intel->needs_render_ca_pass) { --- -1.7.10 - diff --git a/extra/xf86-video-intel/0002-uxa-Defer-the-call-to-EnterVT-till-after-outputs-are.patch b/extra/xf86-video-intel/0002-uxa-Defer-the-call-to-EnterVT-till-after-outputs-are.patch deleted file mode 100644 index 89f43459d..000000000 --- a/extra/xf86-video-intel/0002-uxa-Defer-the-call-to-EnterVT-till-after-outputs-are.patch +++ /dev/null @@ -1,50 +0,0 @@ -From fd25a4586b0667b1591d85b23daaa99464e9b0d8 Mon Sep 17 00:00:00 2001 -From: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon, 19 Mar 2012 15:51:43 +0000 -Subject: [PATCH 2/5] uxa: Defer the call to EnterVT till after outputs are - initialised - -We need to do this apparently or else we never perform the VT switch. -However, we can not do it too early, especially not before we have -finished intialising the outputs. - -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47395 -Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> ---- - src/intel_driver.c | 13 +++++-------- - 1 file changed, 5 insertions(+), 8 deletions(-) - -diff --git a/src/intel_driver.c b/src/intel_driver.c -index e2e43fa..ff29754 100644 ---- a/src/intel_driver.c -+++ b/src/intel_driver.c -@@ -1013,13 +1013,6 @@ I830ScreenInit(int scrnIndex, ScreenPtr screen, int argc, char **argv) - "Hardware cursor initialization failed\n"); - } - -- /* Must force it before EnterVT, so we are in control of VT and -- * later memory should be bound when allocating, e.g rotate_mem */ -- scrn->vtSema = TRUE; -- -- if (!I830EnterVT(scrnIndex, 0)) -- return FALSE; -- - intel->BlockHandler = screen->BlockHandler; - screen->BlockHandler = I830BlockHandler; - -@@ -1092,7 +1085,11 @@ I830ScreenInit(int scrnIndex, ScreenPtr screen, int argc, char **argv) - I830UeventInit(scrn); - #endif - -- return TRUE; -+ /* Must force it before EnterVT, so we are in control of VT and -+ * later memory should be bound when allocating, e.g rotate_mem */ -+ scrn->vtSema = TRUE; -+ -+ return I830EnterVT(scrnIndex, 0); - } - - static void i830AdjustFrame(int scrnIndex, int x, int y, int flags) --- -1.7.10 - diff --git a/extra/xf86-video-intel/0003-uxa-Remove-hook-for-CompositeRectangles.patch b/extra/xf86-video-intel/0003-uxa-Remove-hook-for-CompositeRectangles.patch deleted file mode 100644 index c1c4d55e8..000000000 --- a/extra/xf86-video-intel/0003-uxa-Remove-hook-for-CompositeRectangles.patch +++ /dev/null @@ -1,255 +0,0 @@ -From b669f171adece9df7f0c340c664b70e94118a55e Mon Sep 17 00:00:00 2001 -From: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri, 23 Mar 2012 14:56:06 +0000 -Subject: [PATCH 3/5] uxa: Remove hook for CompositeRectangles - -It was broken and not flushing damage correctly. With the -improvements made to the kernel, it is no longer a significant advantage -per se and not worth its additional complexity. - -Reported-by: Tilman Sauerbeck <tilman@code-monkey.de> -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=32547 -Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> ---- - uxa/uxa-priv.h | 1 - - uxa/uxa-render.c | 189 ------------------------------------------------------ - uxa/uxa.c | 4 -- - 3 files changed, 194 deletions(-) - -diff --git a/uxa/uxa-priv.h b/uxa/uxa-priv.h -index 0de45f5..b24ec4f 100644 ---- a/uxa/uxa-priv.h -+++ b/uxa/uxa-priv.h -@@ -123,7 +123,6 @@ typedef struct { - BitmapToRegionProcPtr SavedBitmapToRegion; - #ifdef RENDER - CompositeProcPtr SavedComposite; -- CompositeRectsProcPtr SavedCompositeRects; - TrianglesProcPtr SavedTriangles; - GlyphsProcPtr SavedGlyphs; - TrapezoidsProcPtr SavedTrapezoids; -diff --git a/uxa/uxa-render.c b/uxa/uxa-render.c -index 877b286..1e88c5d 100644 ---- a/uxa/uxa-render.c -+++ b/uxa/uxa-render.c -@@ -947,195 +947,6 @@ uxa_acquire_mask(ScreenPtr screen, - out_x, out_y); - } - --static Bool --_pixman_region_init_rectangles(pixman_region16_t *region, -- int num_rects, -- xRectangle *rects, -- int tx, int ty) --{ -- pixman_box16_t stack_boxes[64], *boxes = stack_boxes; -- pixman_bool_t ret; -- int i; -- -- if (num_rects > sizeof(stack_boxes) / sizeof(stack_boxes[0])) { -- boxes = malloc(sizeof(pixman_box16_t) * num_rects); -- if (boxes == NULL) -- return FALSE; -- } -- -- for (i = 0; i < num_rects; i++) { -- boxes[i].x1 = rects[i].x + tx; -- boxes[i].y1 = rects[i].y + ty; -- boxes[i].x2 = rects[i].x + tx + rects[i].width; -- boxes[i].y2 = rects[i].y + ty + rects[i].height; -- } -- -- ret = pixman_region_init_rects(region, boxes, num_rects); -- -- if (boxes != stack_boxes) -- free(boxes); -- -- return ret; --} -- --void --uxa_solid_rects (CARD8 op, -- PicturePtr dst, -- xRenderColor *color, -- int num_rects, -- xRectangle *rects) --{ -- ScreenPtr screen = dst->pDrawable->pScreen; -- uxa_screen_t *uxa_screen = uxa_get_screen(screen); -- PixmapPtr dst_pixmap, src_pixmap = NULL; -- pixman_region16_t region; -- pixman_box16_t *boxes, *extents; -- PicturePtr src; -- int dst_x, dst_y; -- int num_boxes; -- -- if (!pixman_region_not_empty(dst->pCompositeClip)) -- return; -- -- if (uxa_screen->info->flags & UXA_USE_GLAMOR) { -- int ok; -- -- uxa_picture_prepare_access(dst, UXA_GLAMOR_ACCESS_RW); -- ok = glamor_composite_rects_nf(op, dst, color, -- num_rects, rects); -- uxa_picture_finish_access(dst, UXA_GLAMOR_ACCESS_RW); -- -- if (!ok) -- goto fallback; -- -- return; -- } -- -- if (dst->alphaMap) -- goto fallback; -- -- dst_pixmap = uxa_get_offscreen_pixmap(dst->pDrawable, &dst_x, &dst_y); -- if (!dst_pixmap) -- goto fallback; -- -- if (!_pixman_region_init_rectangles(®ion, -- num_rects, rects, -- dst->pDrawable->x, dst->pDrawable->y)) -- goto fallback; -- -- if (!pixman_region_intersect(®ion, ®ion, dst->pCompositeClip)) { -- pixman_region_fini(®ion); -- return; -- } -- -- pixman_region_translate(®ion, dst_x, dst_y); -- boxes = pixman_region_rectangles(®ion, &num_boxes); -- extents = pixman_region_extents (®ion); -- -- if (op == PictOpClear) -- color->red = color->green = color->blue = color->alpha = 0; -- if (color->alpha >= 0xff00 && op == PictOpOver) { -- color->alpha = 0xffff; -- op = PictOpSrc; -- } -- -- /* Using GEM, the relocation costs outweigh the advantages of the blitter */ -- if (num_boxes == 1 && (op == PictOpSrc || op == PictOpClear)) { -- CARD32 pixel; -- --try_solid: -- if (uxa_screen->info->check_solid && -- !uxa_screen->info->check_solid(&dst_pixmap->drawable, GXcopy, FB_ALLONES)) -- goto err_region; -- -- if (!uxa_get_pixel_from_rgba(&pixel, -- color->red, -- color->green, -- color->blue, -- color->alpha, -- dst->format)) -- goto err_region; -- -- if (!uxa_screen->info->prepare_solid(dst_pixmap, GXcopy, FB_ALLONES, pixel)) -- goto err_region; -- -- while (num_boxes--) { -- uxa_screen->info->solid(dst_pixmap, -- boxes->x1, boxes->y1, -- boxes->x2, boxes->y2); -- boxes++; -- } -- -- uxa_screen->info->done_solid(dst_pixmap); -- } else { -- int error; -- -- src = CreateSolidPicture(0, color, &error); -- if (!src) -- goto err_region; -- -- if (!uxa_screen->info->check_composite(op, src, NULL, dst, -- extents->x2 - extents->x1, -- extents->y2 - extents->y1)) { -- if (op == PictOpSrc || op == PictOpClear) { -- FreePicture(src, 0); -- goto try_solid; -- } -- -- goto err_src; -- } -- -- if (!uxa_screen->info->check_composite_texture || -- !uxa_screen->info->check_composite_texture(screen, src)) { -- PicturePtr solid; -- int src_off_x, src_off_y; -- -- solid = uxa_acquire_solid(screen, src->pSourcePict); -- if (!solid) -- goto err_src; -- FreePicture(src, 0); -- -- src = solid; -- src_pixmap = uxa_get_offscreen_pixmap(src->pDrawable, -- &src_off_x, &src_off_y); -- if (!src_pixmap) -- goto err_src; -- } -- -- if (!uxa_screen->info->prepare_composite(op, src, NULL, dst, src_pixmap, NULL, dst_pixmap)) -- goto err_src; -- -- while (num_boxes--) { -- uxa_screen->info->composite(dst_pixmap, -- 0, 0, 0, 0, -- boxes->x1, -- boxes->y1, -- boxes->x2 - boxes->x1, -- boxes->y2 - boxes->y1); -- boxes++; -- } -- -- uxa_screen->info->done_composite(dst_pixmap); -- FreePicture(src, 0); -- } -- -- /* XXX xserver-1.8: CompositeRects is not tracked by Damage, so we must -- * manually append the damaged regions ourselves. -- */ -- pixman_region_translate(®ion, -dst_x, -dst_y); -- DamageRegionAppend(dst->pDrawable, ®ion); -- -- pixman_region_fini(®ion); -- return; -- --err_src: -- FreePicture(src, 0); --err_region: -- pixman_region_fini(®ion); --fallback: -- uxa_screen->SavedCompositeRects(op, dst, color, num_rects, rects); --} -- - static int - uxa_try_driver_composite(CARD8 op, - PicturePtr pSrc, -diff --git a/uxa/uxa.c b/uxa/uxa.c -index eb2ae03..b4a1da6 100644 ---- a/uxa/uxa.c -+++ b/uxa/uxa.c -@@ -407,7 +407,6 @@ static Bool uxa_close_screen(int i, ScreenPtr pScreen) - #ifdef RENDER - if (ps) { - ps->Composite = uxa_screen->SavedComposite; -- ps->CompositeRects = uxa_screen->SavedCompositeRects; - ps->Glyphs = uxa_screen->SavedGlyphs; - ps->Trapezoids = uxa_screen->SavedTrapezoids; - ps->AddTraps = uxa_screen->SavedAddTraps; -@@ -536,9 +535,6 @@ Bool uxa_driver_init(ScreenPtr screen, uxa_driver_t * uxa_driver) - uxa_screen->SavedComposite = ps->Composite; - ps->Composite = uxa_composite; - -- uxa_screen->SavedCompositeRects = ps->CompositeRects; -- ps->CompositeRects = uxa_solid_rects; -- - uxa_screen->SavedGlyphs = ps->Glyphs; - ps->Glyphs = uxa_glyphs; - --- -1.7.10 - diff --git a/extra/xf86-video-intel/0004-uxa-Remove-broken-render-glyphs-to-dst.patch b/extra/xf86-video-intel/0004-uxa-Remove-broken-render-glyphs-to-dst.patch deleted file mode 100644 index 3bf15c1a1..000000000 --- a/extra/xf86-video-intel/0004-uxa-Remove-broken-render-glyphs-to-dst.patch +++ /dev/null @@ -1,391 +0,0 @@ -From 1aee0af6d8296c108b6b4eb1bcf583aae385d22d Mon Sep 17 00:00:00 2001 -From: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri, 30 Mar 2012 12:47:21 +0100 -Subject: [PATCH 4/5] uxa: Remove broken render glyphs-to-dst - -Reported-by: Vincent Untz <vuntz@gnome.org> -Reported-by: Robert Bradford <robert.bradford@intel.com> -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48045 -Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> ---- - uxa/uxa-glyphs.c | 330 +++--------------------------------------------------- - 1 file changed, 17 insertions(+), 313 deletions(-) - -diff --git a/uxa/uxa-glyphs.c b/uxa/uxa-glyphs.c -index 6172f2f..b754f4e 100644 ---- a/uxa/uxa-glyphs.c -+++ b/uxa/uxa-glyphs.c -@@ -663,190 +663,6 @@ uxa_glyph_cache(ScreenPtr screen, GlyphPtr glyph, int *out_x, int *out_y) - return cache->picture; - } - --static int --uxa_glyphs_to_dst(CARD8 op, -- PicturePtr pSrc, -- PicturePtr pDst, -- INT16 src_x, INT16 src_y, -- INT16 xDst, INT16 yDst, -- int nlist, GlyphListPtr list, GlyphPtr * glyphs, -- BoxPtr extents) --{ -- ScreenPtr screen = pDst->pDrawable->pScreen; -- uxa_screen_t *uxa_screen = uxa_get_screen(screen); -- PixmapPtr src_pixmap, dst_pixmap; -- PicturePtr localSrc, glyph_atlas; -- int x, y, n; -- BoxRec box; -- -- if (uxa_screen->info->check_composite_texture && -- uxa_screen->info->check_composite_texture(screen, pSrc)) { -- if (pSrc->pDrawable) { -- int src_off_x, src_off_y; -- -- src_pixmap = uxa_get_offscreen_pixmap(pSrc->pDrawable, &src_off_x, &src_off_y); -- if (src_pixmap == NULL) -- return -1; -- -- src_x += pSrc->pDrawable->x + src_off_x; -- src_y += pSrc->pDrawable->y + src_off_y; -- } else { -- src_pixmap = NULL; -- } -- localSrc = pSrc; -- } else { -- int width, height; -- -- if (extents == NULL) { -- uxa_glyph_extents(nlist, list, glyphs, &box); -- extents = &box; -- } -- -- width = extents->x2 - extents->x1; -- height = extents->y2 - extents->y1; -- if (width == 0 || height == 0) -- return 0; -- -- if (pSrc->pDrawable) { -- int src_off_x, src_off_y; -- -- src_off_x = extents->x1 - xDst; -- src_off_y = extents->y1 - yDst; -- localSrc = uxa_acquire_drawable(screen, pSrc, -- src_x + src_off_x, src_y + src_off_y, -- width, height, -- &src_x, &src_y); -- if (uxa_screen->info->check_composite_texture && -- !uxa_screen->info->check_composite_texture(screen, localSrc)) { -- if (localSrc != pSrc) -- FreePicture(localSrc, 0); -- return -1; -- } -- -- src_pixmap = uxa_get_offscreen_pixmap(localSrc->pDrawable, &src_off_x, &src_off_y); -- if (src_pixmap == NULL) { -- if (localSrc != pSrc) -- FreePicture(localSrc, 0); -- return -1; -- } -- -- src_x += localSrc->pDrawable->x + src_off_x; -- src_y += localSrc->pDrawable->y + src_off_y; -- } else { -- localSrc = uxa_acquire_pattern(screen, pSrc, -- PICT_a8r8g8b8, x, y, width, height); -- if (!localSrc) -- return 1; -- -- src_pixmap = uxa_get_drawable_pixmap(localSrc->pDrawable); -- if (src_pixmap == NULL) { -- FreePicture(localSrc, 0); -- return -1; -- } -- -- src_x = src_y = 0; -- } -- } -- -- dst_pixmap = uxa_get_offscreen_pixmap(pDst->pDrawable, &x, &y); -- x += xDst + pDst->pDrawable->x - list->xOff; -- y += yDst + pDst->pDrawable->y - list->yOff; -- -- glyph_atlas = NULL; -- while (nlist--) { -- x += list->xOff; -- y += list->yOff; -- n = list->len; -- while (n--) { -- GlyphPtr glyph = *glyphs++; -- PicturePtr this_atlas; -- int mask_x, mask_y, nrect; -- struct uxa_glyph *priv; -- BoxPtr rects; -- -- if (glyph->info.width == 0 || glyph->info.height == 0) -- goto next_glyph; -- -- priv = uxa_glyph_get_private(glyph); -- if (priv != NULL) { -- mask_x = priv->x; -- mask_y = priv->y; -- this_atlas = priv->cache->picture; -- } else { -- if (glyph_atlas) { -- uxa_screen->info->done_composite(dst_pixmap); -- glyph_atlas = NULL; -- } -- this_atlas = uxa_glyph_cache(screen, glyph, &mask_x, &mask_y); -- if (this_atlas == NULL) { -- /* no cache for this glyph */ -- this_atlas = GlyphPicture(glyph)[screen->myNum]; -- mask_x = mask_y = 0; -- } -- } -- -- if (this_atlas != glyph_atlas) { -- PixmapPtr mask_pixmap; -- -- if (glyph_atlas) -- uxa_screen->info->done_composite(dst_pixmap); -- -- mask_pixmap = -- uxa_get_drawable_pixmap(this_atlas->pDrawable); -- if (!uxa_pixmap_is_offscreen(mask_pixmap) || -- !uxa_screen->info->prepare_composite(op, -- localSrc, this_atlas, pDst, -- src_pixmap, mask_pixmap, dst_pixmap)) -- return -1; -- -- glyph_atlas = this_atlas; -- } -- -- rects = REGION_RECTS(pDst->pCompositeClip); -- nrect = REGION_NUM_RECTS(pDst->pCompositeClip); -- while (nrect--) { -- int x1 = x - glyph->info.x, dx = 0; -- int y1 = y - glyph->info.y, dy = 0; -- int x2 = x1 + glyph->info.width; -- int y2 = y1 + glyph->info.height; -- -- if (rects->y1 >= y2) -- break; -- -- if (x1 < rects->x1) -- dx = rects->x1 - x1, x1 = rects->x1; -- if (x2 > rects->x2) -- x2 = rects->x2; -- if (y1 < rects->y1) -- dy = rects->y1 - y1, y1 = rects->y1; -- if (y2 > rects->y2) -- y2 = rects->y2; -- -- if (x1 < x2 && y1 < y2) { -- uxa_screen->info->composite(dst_pixmap, -- x1 + src_x, y1 + src_y, -- dx + mask_x, dy + mask_y, -- x1, y1, -- x2 - x1, y2 - y1); -- } -- rects++; -- } -- --next_glyph: -- x += glyph->info.xOff; -- y += glyph->info.yOff; -- } -- list++; -- } -- if (glyph_atlas) -- uxa_screen->info->done_composite(dst_pixmap); -- -- if (localSrc != pSrc) -- FreePicture(localSrc, 0); -- -- return 0; --} -- - static void - uxa_clear_pixmap(ScreenPtr screen, - uxa_screen_t *uxa_screen, -@@ -894,37 +710,30 @@ uxa_glyphs_via_mask(CARD8 op, - PicturePtr pDst, - PictFormatPtr maskFormat, - INT16 xSrc, INT16 ySrc, -- INT16 xDst, INT16 yDst, -- int nlist, GlyphListPtr list, GlyphPtr * glyphs, -- BoxPtr extents) -+ int nlist, GlyphListPtr list, GlyphPtr * glyphs) - { - ScreenPtr screen = pDst->pDrawable->pScreen; - uxa_screen_t *uxa_screen = uxa_get_screen(screen); - CARD32 component_alpha; - PixmapPtr pixmap; - PicturePtr glyph_atlas, mask; -+ int xDst = list->xOff, yDst = list->yOff; - int x, y, width, height; - int dst_off_x, dst_off_y; - int n, error; - BoxRec box; - -- if (!extents) { -- uxa_glyph_extents(nlist, list, glyphs, &box); -+ uxa_glyph_extents(nlist, list, glyphs, &box); -+ if (box.x2 <= box.x1 || box.y2 <= box.y1) -+ return 0; - -- if (box.x2 <= box.x1 || box.y2 <= box.y1) -- return 0; -+ dst_off_x = box.x1; -+ dst_off_y = box.y1; - -- extents = &box; -- dst_off_x = box.x1; -- dst_off_y = box.y1; -- } else { -- dst_off_x = dst_off_y = 0; -- } -- -- width = extents->x2 - extents->x1; -- height = extents->y2 - extents->y1; -- x = -extents->x1; -- y = -extents->y1; -+ width = box.x2 - box.x1; -+ height = box.y2 - box.y1; -+ x = -box.x1; -+ y = -box.y1; - - if (maskFormat->depth == 1) { - PictFormatPtr a8Format = -@@ -1061,11 +870,6 @@ uxa_glyphs(CARD8 op, - { - ScreenPtr screen = pDst->pDrawable->pScreen; - uxa_screen_t *uxa_screen = uxa_get_screen(screen); -- int xDst = list->xOff, yDst = list->yOff; -- BoxRec extents = { 0, 0, 0, 0 }; -- Bool have_extents = FALSE; -- int width, height, ret; -- PicturePtr localDst = pDst; - - if (uxa_screen->info->flags & UXA_USE_GLAMOR) { - int ok; -@@ -1128,112 +932,12 @@ fallback: - } - } - -- if (!maskFormat && -- uxa_screen->info->check_composite_target && -- !uxa_screen->info->check_composite_target(uxa_get_drawable_pixmap(pDst->pDrawable))) { -- int depth = pDst->pDrawable->depth; -- PixmapPtr pixmap; -- int x, y, error; -- GCPtr gc; -- -- pixmap = uxa_get_drawable_pixmap(pDst->pDrawable); -- if (uxa_screen->info->check_copy && -- !uxa_screen->info->check_copy(pixmap, pixmap, GXcopy, FB_ALLONES)) -- goto fallback; -- -- uxa_glyph_extents(nlist, list, glyphs, &extents); -- -- /* clip against dst bounds */ -- if (extents.x1 < 0) -- extents.x1 = 0; -- if (extents.y1 < 0) -- extents.y1 = 0; -- if (extents.x2 > pDst->pDrawable->width) -- extents.x2 = pDst->pDrawable->width; -- if (extents.y2 > pDst->pDrawable->height) -- extents.y2 = pDst->pDrawable->height; -- -- if (extents.x2 <= extents.x1 || extents.y2 <= extents.y1) -- return; -- width = extents.x2 - extents.x1; -- height = extents.y2 - extents.y1; -- x = -extents.x1; -- y = -extents.y1; -- have_extents = TRUE; -- -- xDst += x; -- yDst += y; -- -- pixmap = screen->CreatePixmap(screen, -- width, height, depth, -- CREATE_PIXMAP_USAGE_SCRATCH); -- if (!pixmap) -- return; -- -- if (!uxa_pixmap_is_offscreen(pixmap)) { -- screen->DestroyPixmap(pixmap); -- goto fallback; -- } -- -- gc = GetScratchGC(depth, screen); -- if (!gc) { -- screen->DestroyPixmap(pixmap); -- return; -- } -- -- ValidateGC(&pixmap->drawable, gc); -- gc->ops->CopyArea(pDst->pDrawable, &pixmap->drawable, gc, -- extents.x1, extents.y1, -- width, height, -- 0, 0); -- FreeScratchGC(gc); -- -- localDst = CreatePicture(0, &pixmap->drawable, -- PictureMatchFormat(screen, depth, pDst->format), -- 0, 0, serverClient, &error); -- screen->DestroyPixmap(pixmap); -- -- if (!localDst) -- return; -- -- ValidatePicture(localDst); -- } -- -- if (maskFormat) { -- ret = uxa_glyphs_via_mask(op, -- pSrc, localDst, maskFormat, -- xSrc, ySrc, -- xDst, yDst, -- nlist, list, glyphs, -- have_extents ? &extents : NULL); -- } else { -- ret = uxa_glyphs_to_dst(op, -- pSrc, localDst, -- xSrc, ySrc, -- xDst, yDst, -- nlist, list, glyphs, -- have_extents ? &extents : NULL); -- } -- if (ret) { -- if (localDst != pDst) -- FreePicture(localDst, 0); -- -+ if (!maskFormat) - goto fallback; -- } - -- if (localDst != pDst) { -- GCPtr gc; -- -- gc = GetScratchGC(pDst->pDrawable->depth, screen); -- if (gc) { -- ValidateGC(pDst->pDrawable, gc); -- gc->ops->CopyArea(localDst->pDrawable, pDst->pDrawable, gc, -- 0, 0, -- width, height, -- extents.x1, extents.y1); -- FreeScratchGC(gc); -- } -- -- FreePicture(localDst, 0); -- } -+ if (uxa_glyphs_via_mask(op, -+ pSrc, pDst, maskFormat, -+ xSrc, ySrc, -+ nlist, list, glyphs)) -+ goto fallback; - } --- -1.7.10 - diff --git a/extra/xf86-video-intel/0005-uxa-Fix-leak-of-glyph-mask-for-unhandled-glyph-compo.patch b/extra/xf86-video-intel/0005-uxa-Fix-leak-of-glyph-mask-for-unhandled-glyph-compo.patch deleted file mode 100644 index 865679078..000000000 --- a/extra/xf86-video-intel/0005-uxa-Fix-leak-of-glyph-mask-for-unhandled-glyph-compo.patch +++ /dev/null @@ -1,40 +0,0 @@ -From af5c698fd43308c3b799783b662b9cd871f90a62 Mon Sep 17 00:00:00 2001 -From: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat, 14 Apr 2012 19:03:25 +0100 -Subject: [PATCH 5/5] uxa: Fix leak of glyph mask for unhandled glyph - composition - -==1401== 7,344 bytes in 34 blocks are possibly lost in loss record 570 of 587 -==1401== at 0x4027034: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) -==1401== by 0x8BE5150: drm_intel_gem_bo_alloc_internal (intel_bufmgr_gem.c:689) -==1401== by 0x899FC04: intel_uxa_create_pixmap (intel_uxa.c:1077) -==1401== by 0x89C2C41: uxa_glyphs (uxa-glyphs.c:254) -==1401== by 0x21F05E: damageGlyphs (damage.c:647) -==1401== by 0x218E06: ProcRenderCompositeGlyphs (render.c:1434) -==1401== by 0x15AA40: Dispatch (dispatch.c:439) -==1401== by 0x1499E9: main (main.c:287) - -Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> ---- - uxa/uxa-glyphs.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/uxa/uxa-glyphs.c b/uxa/uxa-glyphs.c -index b754f4e..921b99c 100644 ---- a/uxa/uxa-glyphs.c -+++ b/uxa/uxa-glyphs.c -@@ -812,8 +812,10 @@ uxa_glyphs_via_mask(CARD8 op, - if (!uxa_pixmap_is_offscreen(src_pixmap) || - !uxa_screen->info->prepare_composite(PictOpAdd, - this_atlas, NULL, mask, -- src_pixmap, NULL, pixmap)) -+ src_pixmap, NULL, pixmap)) { -+ FreePicture(mask, 0); - return -1; -+ } - - glyph_atlas = this_atlas; - } --- -1.7.10 - |