rpms/bluez-gnome/devel bluez-gnome-0.14-disable-class-selection-with-hal.patch, NONE, 1.1 bluez-gnome.spec, 1.19, 1.20

Bastien Nocera (hadess) fedora-extras-commits at redhat.com
Thu Sep 20 14:13:58 UTC 2007


Author: hadess

Update of /cvs/pkgs/rpms/bluez-gnome/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv9287

Modified Files:
	bluez-gnome.spec 
Added Files:
	bluez-gnome-0.14-disable-class-selection-with-hal.patch 
Log Message:
* Thu Sep 20 2007 - Bastien Nocera <bnocera at redhat.com> - 0.14-5
- Don't allow class of the device to be changed if HAL is being
  used (#244261)


bluez-gnome-0.14-disable-class-selection-with-hal.patch:

--- NEW FILE bluez-gnome-0.14-disable-class-selection-with-hal.patch ---
? .deps
? Makefile
? Makefile.in
? bluetooth-manager.schemas
? bluetooth-properties
? bluetooth-properties.desktop
? foo
Index: adapter.c
===================================================================
RCS file: /cvsroot/bluez/gnome/properties/adapter.c,v
retrieving revision 1.17
diff -u -p -r1.17 adapter.c
--- adapter.c	29 Aug 2007 15:41:49 -0000	1.17
+++ adapter.c	20 Sep 2007 14:09:27 -0000
@@ -26,6 +26,8 @@
 #include <config.h>
 #endif
 
+#include <gconf/gconf-client.h>
+
 #include <dbus/dbus-glib.h>
 
 #include <glib/gi18n.h>
@@ -509,6 +511,21 @@ GtkWidget *create_tree(GtkTreeModel *mod
 	return tree;
 }
 
+static void gconf_callback(GConfClient *client, guint cnxn_id,
+					GConfEntry *entry, gpointer user_data)
+{
+	GConfValue *value;
+
+	if (g_ascii_strcasecmp(entry->key, PREF_USE_HAL) != 0)
+		return;
+
+	value = gconf_entry_get_value(entry);
+	if (value == NULL)
+		return;
+
+	gtk_widget_set_sensitive(GTK_WIDGET(user_data), !gconf_value_get_bool(value));
+}
+
 static void create_adapter(struct adapter_data *adapter)
 {
 	DBusGProxy *object;
@@ -530,8 +547,10 @@ static void create_adapter(struct adapte
 	GtkTreeModel *model;
 	GtkTreeSelection *selection;
 	GSList *group = NULL;
+	GConfClient *gconf;
 	gdouble value;
 	gint index;
+	gboolean use_hal;
 
 	object = dbus_g_proxy_new_for_name(connection, "org.bluez",
 					adapter->path, "org.bluez.Adapter");
@@ -726,6 +745,16 @@ static void create_adapter(struct adapte
 	g_signal_connect(G_OBJECT(combobox), "changed",
 					G_CALLBACK(class_callback), adapter);
 
+	/* Monitor the use_hal preference */
+	gconf = gconf_client_get_default();
+	use_hal = gconf_client_get_bool(gconf, PREF_USE_HAL, NULL);
+	gtk_widget_set_sensitive(combobox, !use_hal);
+
+	gconf_client_add_dir(gconf, PREF_DIR, GCONF_CLIENT_PRELOAD_NONE, NULL);
+	gconf_client_notify_add(gconf, PREF_DIR,
+					gconf_callback, combobox, NULL, NULL);
+	g_object_unref(gconf);
+
 	vbox = gtk_vbox_new(FALSE, 6);
 	gtk_box_pack_start(GTK_BOX(mainbox), vbox, TRUE, TRUE, 0);
 
Index: general.c
===================================================================
RCS file: /cvsroot/bluez/gnome/properties/general.c,v
retrieving revision 1.2
diff -u -p -r1.2 general.c
--- general.c	29 Jul 2007 11:28:48 -0000	1.2
+++ general.c	20 Sep 2007 14:09:27 -0000
@@ -32,6 +32,7 @@
 
 #include <gtk/gtk.h>
 
+#include "general.h"
 #include "client.h"
 
 typedef enum {
@@ -42,11 +43,6 @@ typedef enum {
 
 static int icon_policy = ICON_POLICY_PRESENT;
 
-#define PREF_DIR		"/apps/bluetooth-manager"
-#define PREF_USE_HAL		PREF_DIR "/use_hal"
-#define PREF_ICON_POLICY	PREF_DIR "/icon_policy"
-#define PREF_AUTO_AUTHORIZE	PREF_DIR "/auto_authorize"
-
 static GConfEnumStringPair icon_policy_enum_map [] = {
 	{ ICON_POLICY_NEVER,	"never"		},
 	{ ICON_POLICY_ALWAYS,	"always"	},
Index: general.h
===================================================================
RCS file: /cvsroot/bluez/gnome/properties/general.h,v
retrieving revision 1.1
diff -u -p -r1.1 general.h
--- general.h	29 Jul 2007 11:11:03 -0000	1.1
+++ general.h	20 Sep 2007 14:09:27 -0000
@@ -22,6 +22,11 @@
  *
  */
 
+#define PREF_DIR		"/apps/bluetooth-manager"
+#define PREF_USE_HAL		PREF_DIR "/use_hal"
+#define PREF_ICON_POLICY	PREF_DIR "/icon_policy"
+#define PREF_AUTO_AUTHORIZE	PREF_DIR "/auto_authorize"
+
 GtkWidget *create_label(const gchar *str);
 GtkWidget *create_general(void);
 void setup_general(void);


Index: bluez-gnome.spec
===================================================================
RCS file: /cvs/pkgs/rpms/bluez-gnome/devel/bluez-gnome.spec,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- bluez-gnome.spec	20 Sep 2007 12:44:33 -0000	1.19
+++ bluez-gnome.spec	20 Sep 2007 14:13:25 -0000	1.20
@@ -1,12 +1,13 @@
 Name:		bluez-gnome
 Version:	0.14
-Release:	4%{?dist}
+Release:	5%{?dist}
 Summary:	Bluetooth pairing and control applet
 
 Group:		Applications/System
 License:	GPLv2+
 URL:		http://www.bluez.org/
 Source0:	http://bluez.sf.net/download/%{name}-%{version}.tar.gz
+Patch1:		bluez-gnome-0.14-disable-class-selection-with-hal.patch
 
 BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
@@ -40,6 +41,9 @@
 
 %prep
 %setup -q
+pushd properties
+%patch1 -p0 -b .use-hal
+popd
 
 %build
 %configure --disable-mime-update --disable-desktop-update
@@ -119,6 +123,10 @@
 %{_datadir}/man/man1/bluetooth-analyzer.1.gz
 
 %changelog
+* Thu Sep 20 2007 - Bastien Nocera <bnocera at redhat.com> - 0.14-5
+- Don't allow class of the device to be changed if HAL is being
+  used (#244261)
+
 * Thu Sep 20 2007 - Bastien Nocera <bnocera at redhat.com> - 0.14-4
 - Only show and start the bluez-gnome bits in GNOME (#258721)
 




More information about the fedora-extras-commits mailing list