After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 681402 - port to GDBus breaks network-manager-applet
port to GDBus breaks network-manager-applet
Status: RESOLVED DUPLICATE of bug 678018
Product: gnome-bluetooth
Classification: Core
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gnome-bluetooth-general-maint@gnome.bugs
gnome-bluetooth-general-maint@gnome.bugs
Depends on:
Blocks:
 
 
Reported: 2012-08-07 19:25 UTC by Colin Walters
Modified: 2012-08-07 20:03 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Colin Walters 2012-08-07 19:25:02 UTC
Commit f89e8a22a724ab34c063a16e4bd631c1ec3b081c broke nm-applet; it expects a DBusGProxy, not a GDBusProxy.

We should probably bump the soname and pkg-config version to reflect that clients need to port.
Comment 1 Dan Williams 2012-08-07 19:28:45 UTC
Yeah, also there's now a behavior difference between the bluetooth applet and the control center.  Previously, the plugin's widget lived for the duration of the bluetooth applet's dialog.  But the control center destroys and recreates the plugin widgets every time the bluetooth device's properties change, which is something that the NM plugin does when it calls 'Connect' for DUN devices to inspect the modem and find out whether it's GSM or CDMA.

Since this is a long-running operation, and the NM plugin's widget gets destroyed halfway through, things don't end well.  That's commit 844dd9e3 in gnome-control-center, see cc_bluetooth_panel_update_properties() where it calls remove_extra_setup_widgets().  Which does:

static void
remove_extra_setup_widgets (CcBluetoothPanel *self)
{
	GtkWidget *box;

	box = WID ("additional_setup_box");
	gtk_container_forall (GTK_CONTAINER (box), (GtkCallback) gtk_widget_destroy, NULL);
	gtk_widget_hide (WID ("additional_setup_box"));
}

and boom, our NM plugin widget is gone, and the long-running operations start using already freed data when they complete.
Comment 2 Colin Walters 2012-08-07 20:03:10 UTC

*** This bug has been marked as a duplicate of bug 678018 ***