From fea6eb7255147a9a804336a9c37fc652f93b79a0 Mon Sep 17 00:00:00 2001
From: Thierry Thomas <thierry@FreeBSD.org>
Date: Wed, 5 Sep 2007 21:06:55 +0000
Subject: Import a patch submitted by the author: it fixes a problem related to
 dbus, more specifically, the new Reload method that is invoked by the
 Preferences dialog. In some cases, it could cause pinot to segfault when
 pressing the Ok button in Preferences.

Submitted by:	Fabrice Colin <fabrice.colin (at) gmail.com>
---
 deskutils/pinot/Makefile                           |  1 +
 .../pinot/files/patch-dbusxapianindex_reload03     | 77 ++++++++++++++++++++++
 2 files changed, 78 insertions(+)
 create mode 100644 deskutils/pinot/files/patch-dbusxapianindex_reload03

diff --git a/deskutils/pinot/Makefile b/deskutils/pinot/Makefile
index 576c94143355..40096a532ec1 100644
--- a/deskutils/pinot/Makefile
+++ b/deskutils/pinot/Makefile
@@ -6,6 +6,7 @@
 
 PORTNAME=	pinot
 PORTVERSION=	0.76
+PORTREVISION=	1
 CATEGORIES=	deskutils
 MASTER_SITES=	${MASTER_SITE_BERLIOS}
 #MASTER_SITES=	http://www.chez.com/colinf/pinot/	\
diff --git a/deskutils/pinot/files/patch-dbusxapianindex_reload03 b/deskutils/pinot/files/patch-dbusxapianindex_reload03
new file mode 100644
index 000000000000..08db723aeb27
--- /dev/null
+++ b/deskutils/pinot/files/patch-dbusxapianindex_reload03
@@ -0,0 +1,77 @@
+--- Index/DBusXapianIndex.cpp	2007-08-22 21:58:20.000000000 +0800
++++ Index/DBusXapianIndex.cpp	2007-09-01 11:23:26.000000000 +0800
+@@ -17,15 +17,6 @@
+  */
+ 
+ #include <iostream>
+-extern "C"
+-{
+-#if DBUS_VERSION < 1000000
+-#define DBUS_API_SUBJECT_TO_CHANGE
+-#endif
+-#include <dbus/dbus.h>
+-#include <dbus/dbus-glib.h>
+-#include <dbus/dbus-glib-lowlevel.h>
+-}
+ 
+ #include "Languages.h"
+ #include "XapianDatabaseFactory.h"
+@@ -302,7 +293,7 @@
+ /// Asks the D-Bus service to reload its configuration.
+ bool DBusXapianIndex::reload(void)
+ {
+-	bool reloading = false;
++	gboolean reloading = FALSE;
+ 
+ 	DBusGConnection *pBus = getBusConnection();
+ 	if (pBus == NULL)
+@@ -333,7 +324,12 @@
+ 	g_object_unref(pBusProxy);
+ 	// FIXME: don't we have to call dbus_g_connection_unref(pBus); ?
+ 
+-	return reloading;
++	if (reloading == TRUE)
++	{
++		return true;
++	}
++
++	return false;
+ }
+ 
+ 
+--- Index/DBusXapianIndex.h	2007-08-22 21:54:40.000000000 +0800
++++ Index/DBusXapianIndex.h	2007-09-01 11:23:37.000000000 +0800
+@@ -21,12 +21,15 @@
+ 
+ #include <string>
+ #include <set>
++#include "config.h"
+ extern "C"
+ {
+ #if DBUS_VERSION < 1000000
+ #define DBUS_API_SUBJECT_TO_CHANGE
+ #endif
+ #include <dbus/dbus.h>
++#include <dbus/dbus-glib.h>
++#include <dbus/dbus-glib-lowlevel.h>
+ }
+ 
+ #include "XapianIndex.h"
+--- UI/GTK2/src/pinot.cc	2007-08-22 22:01:28.000000000 +0800
++++ UI/GTK2/src/pinot.cc	2007-09-01 10:55:10.000000000 +0800
+@@ -29,6 +29,7 @@
+ #include <glibmm/ustring.h>
+ #include <glibmm/miscutils.h>
+ #include <glibmm/convert.h>
++#include "config.h"
+ extern "C"
+ {
+ #if DBUS_VERSION < 1000000
+@@ -50,7 +51,6 @@
+ #include "ViewHistory.h"
+ #include "DownloaderInterface.h"
+ #include "XapianIndex.h"
+-#include "config.h"
+ #include "NLS.h"
+ #include "PinotSettings.h"
+ #include "mainWindow.hh"
-- 
cgit debian/1.2.3+git2.25.1-1-2-gaceb0