1. open Wi-Fi Settings
2. Menu -> Known Wi-fi Networks
3. Click settings of some Wi-Fi network listed there.
4. Press escape twice to close all the dialogs
5. Menu -> Connect to Hidden network..,
Fix crashes when some object type names (WirelessSecurity and
EAPMethod in this case) are duplicated across the Network
panel and libnma.
Fixes a regression in commit 0470c04
https://bugzilla.gnome.org/show_bug.cgi?id=785099
69 lines
2.2 KiB
Diff
69 lines
2.2 KiB
Diff
diff --git a/panels/network/wireless-security/eap-method.c b/panels/network/wireless-security/eap-method.c
|
|
index cb733e861..824f315a3 100644
|
|
--- a/panels/network/wireless-security/eap-method.c
|
|
+++ b/panels/network/wireless-security/eap-method.c
|
|
@@ -34,7 +34,19 @@
|
|
#include "utils.h"
|
|
#include "helpers.h"
|
|
|
|
-G_DEFINE_BOXED_TYPE (EAPMethod, eap_method, eap_method_ref, eap_method_unref)
|
|
+GType
|
|
+eap_method_get_type (void)
|
|
+{
|
|
+ static GType type_id = 0;
|
|
+
|
|
+ if (!type_id) {
|
|
+ type_id = g_boxed_type_register_static ("CcEAPMethod",
|
|
+ (GBoxedCopyFunc) eap_method_ref,
|
|
+ (GBoxedFreeFunc) eap_method_unref);
|
|
+ }
|
|
+
|
|
+ return type_id;
|
|
+}
|
|
|
|
GtkWidget *
|
|
eap_method_get_widget (EAPMethod *method)
|
|
diff --git a/panels/network/wireless-security/wireless-security.c b/panels/network/wireless-security/wireless-security.c
|
|
index 23b8a27..bd233b0 100644
|
|
--- a/panels/network/wireless-security/wireless-security.c
|
|
+++ b/panels/network/wireless-security/wireless-security.c
|
|
@@ -25,10 +25,25 @@
|
|
#include <string.h>
|
|
|
|
#include "wireless-security.h"
|
|
+#include "wireless-security-resources.h"
|
|
#include "eap-method.h"
|
|
#include "utils.h"
|
|
|
|
-G_DEFINE_BOXED_TYPE (WirelessSecurity, wireless_security, wireless_security_ref, wireless_security_unref)
|
|
+GType
|
|
+wireless_security_get_type (void)
|
|
+{
|
|
+ static GType type_id = 0;
|
|
+
|
|
+ if (!type_id) {
|
|
+ g_resources_register (wireless_security_get_resource ());
|
|
+
|
|
+ type_id = g_boxed_type_register_static ("CcWirelessSecurity",
|
|
+ (GBoxedCopyFunc) wireless_security_ref,
|
|
+ (GBoxedFreeFunc) wireless_security_unref);
|
|
+ }
|
|
+
|
|
+ return type_id;
|
|
+}
|
|
|
|
GtkWidget *
|
|
wireless_security_get_widget (WirelessSecurity *sec)
|
|
diff --git a/panels/network/wireless-security/wireless-security.h b/panels/network/wireless-security/wireless-security.h
|
|
index cb6553be5..4de618e16 100644
|
|
--- a/panels/network/wireless-security/wireless-security.h
|
|
+++ b/panels/network/wireless-security/wireless-security.h
|
|
@@ -23,6 +23,8 @@
|
|
#ifndef WIRELESS_SECURITY_H
|
|
#define WIRELESS_SECURITY_H
|
|
|
|
+#include <gtk/gtk.h>
|
|
+
|
|
typedef struct _WirelessSecurity WirelessSecurity;
|
|
|
|
typedef void (*WSChangedFunc) (WirelessSecurity *sec, gpointer user_data);
|