summaryrefslogtreecommitdiff
path: root/extra/gnome-shell
diff options
context:
space:
mode:
authorParabola <dev@list.parabolagnulinux.org>2011-05-28 05:45:55 +0000
committerParabola <dev@list.parabolagnulinux.org>2011-05-28 05:45:55 +0000
commit4d22176132f4a830ab0cc510dabbc9f8c1c362ea (patch)
tree9f97e7a21013e7ed7de7edb5426650be3a7b73e3 /extra/gnome-shell
parent33feb015eb09eee76827f359e685fce981d88111 (diff)
Sat May 28 05:45:54 UTC 2011
Diffstat (limited to 'extra/gnome-shell')
-rw-r--r--extra/gnome-shell/0001-Don-t-crash-when-removing-nameless-user.patch31
-rw-r--r--extra/gnome-shell/network_fixes_up_to_5090a4ccce.patch814
-rw-r--r--extra/gnome-shell/shell-xfixes-cursor_missing_free.patch22
-rw-r--r--extra/gnome-shell/st-private_correct_fix_memory_leak.patch52
-rw-r--r--extra/gnome-shell/st-private_fix_memory_leak.patch40
5 files changed, 0 insertions, 959 deletions
diff --git a/extra/gnome-shell/0001-Don-t-crash-when-removing-nameless-user.patch b/extra/gnome-shell/0001-Don-t-crash-when-removing-nameless-user.patch
deleted file mode 100644
index c07627338..000000000
--- a/extra/gnome-shell/0001-Don-t-crash-when-removing-nameless-user.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 8977ba4f23aef8754c0a912e7e1ec46f8da4776e Mon Sep 17 00:00:00 2001
-From: Ionut Biru <ibiru@archlinux.org>
-Date: Mon, 9 May 2011 13:03:17 -0700
-Subject: [PATCH] Don't crash when removing nameless user
-
-Fixes https://bugzilla.gnome.org/show_bug.cgi?id=647893
-
-Signed-off-by: Ionut Biru <ibiru@archlinux.org>
----
- src/gdmuser/gdm-user-manager.c | 5 ++++-
- 1 files changed, 4 insertions(+), 1 deletions(-)
-
-diff --git a/src/gdmuser/gdm-user-manager.c b/src/gdmuser/gdm-user-manager.c
-index eba9da1..543fcc3 100644
---- a/src/gdmuser/gdm-user-manager.c
-+++ b/src/gdmuser/gdm-user-manager.c
-@@ -777,7 +777,10 @@ remove_user (GdmUserManager *manager,
- if (gdm_user_get_object_path (user) != NULL) {
- g_hash_table_remove (manager->priv->users_by_object_path, gdm_user_get_object_path (user));
- }
-- g_hash_table_remove (manager->priv->users_by_name, gdm_user_get_user_name (user));
-+
-+ if (gdm_user_get_user_name (user) != NULL) {
-+ g_hash_table_remove (manager->priv->users_by_name, gdm_user_get_user_name (user));
-+ }
-
- if (manager->priv->is_loaded) {
- g_signal_emit (manager, signals[USER_REMOVED], 0, user);
---
-1.7.5.1
-
diff --git a/extra/gnome-shell/network_fixes_up_to_5090a4ccce.patch b/extra/gnome-shell/network_fixes_up_to_5090a4ccce.patch
deleted file mode 100644
index 16453b0b9..000000000
--- a/extra/gnome-shell/network_fixes_up_to_5090a4ccce.patch
+++ /dev/null
@@ -1,814 +0,0 @@
-From d0780d16224d7bb2ad183542337c48324fdd2185 Mon Sep 17 00:00:00 2001
-From: Giovanni Campagna <gcampagna@src.gnome.org>
-Date: Wed, 06 Apr 2011 16:11:23 +0000
-Subject: NetworkMenu: keep wirelesss networks in predictable order
-
-Adds a function that compares wireless networks and keeps them sorted
-at all times. Order is: first already configured connections, then
-first secure networks, then alphabtic. Also, the appearance of a new access
-point no longer causes the whole menu to be rebuilt (but it still linear
-searches for the position, I guess that could be skipped), which caused
-the addition of more code for tracking the active access point.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=646580
----
-(limited to 'js/ui/status/network.js')
-
-diff --git a/js/ui/status/network.js b/js/ui/status/network.js
-index 6fa5642..49cb3f0 100644
---- a/js/ui/status/network.js
-+++ b/js/ui/status/network.js
-@@ -42,6 +42,10 @@ const NM80211Mode = NetworkManager['80211Mode'];
- const NM80211ApFlags = NetworkManager['80211ApFlags'];
- const NM80211ApSecurityFlags = NetworkManager['80211ApSecurityFlags'];
-
-+// number of wireless networks that should be visible
-+// (the remaining are placed into More...)
-+const NUM_VISIBLE_NETWORKS = 5;
-+
- function macToArray(string) {
- return string.split(':').map(function(el) {
- return parseInt(el, 16);
-@@ -1036,6 +1040,7 @@ NMDeviceWireless.prototype = {
- item: null,
- accessPoints: [ ap ]
- };
-+ obj.ssidText = NetworkManager.utils_ssid_to_utf8(obj.ssid);
- this._networks.push(obj);
- }
-
-@@ -1048,6 +1053,14 @@ NMDeviceWireless.prototype = {
- }
- }
- }
-+ if (this.device.active_access_point) {
-+ this._activeNetwork = this._networks[this._findNetwork(this.device.active_access_point)];
-+ } else {
-+ this._activeNetwork = null;
-+ }
-+ this._networks.sort(this._networkSortFunction);
-+
-+ this._apChangedId = device.connect('notify::active-access-point', Lang.bind(this, this._activeApChanged));
- this._apAddedId = device.connect('access-point-added', Lang.bind(this, this._accessPointAdded));
- this._apRemovedId = device.connect('access-point-removed', Lang.bind(this, this._accessPointRemoved));
-
-@@ -1055,8 +1068,13 @@ NMDeviceWireless.prototype = {
- },
-
- destroy: function() {
-- if (this._apAddedId) {
-+ if (this._apChangedId) {
- // see above for this HACK
-+ GObject.Object.prototype.disconnect.call(this.device, this._apChangedId);
-+ this._apChangedId = 0;
-+ }
-+
-+ if (this._apAddedId) {
- GObject.Object.prototype.disconnect.call(this.device, this._apAddedId);
- this._apAddedId = 0;
- }
-@@ -1122,6 +1140,19 @@ NMDeviceWireless.prototype = {
- }
- },
-
-+ _activeApChanged: function() {
-+ this._activeNetwork = null;
-+
-+ let activeAp = this.device.active_access_point;
-+
-+ if (activeAp) {
-+ let pos = this._findNetwork(activeAp);
-+ this._activeNetwork = this._networks[pos];
-+ }
-+
-+ // we don't refresh the view here, setActiveConnection will
-+ },
-+
- _getApSecurityType: function(accessPoint) {
- if (accessPoint._secType)
- return accessPoint._secType;
-@@ -1151,6 +1182,32 @@ NMDeviceWireless.prototype = {
- return type;
- },
-
-+ _networkSortFunction: function(one, two) {
-+ let oneHasConnection = one.connections.length != 0;
-+ let twoHasConnection = two.connections.length != 0;
-+
-+ // place known connections first
-+ // (-1 = good order, 1 = wrong order)
-+ if (oneHasConnection && !twoHasConnection)
-+ return -1;
-+ else if (!oneHasConnection && twoHasConnection)
-+ return 1;
-+
-+ let oneHasSecurity = one.security != NMAccessPointSecurity.NONE;
-+ let twoHasSecurity = two.security != NMAccessPointSecurity.NONE;
-+
-+ // place secure connections first
-+ // (we treat WEP/WPA/WPA2 the same as there is no way to
-+ // take them apart from the UI)
-+ if (oneHasSecurity && !twoHasSecurity)
-+ return -1;
-+ else if (!oneHasSecurity && twoHasSecurity)
-+ return 1;
-+
-+ // sort alphabetically
-+ return GLib.utf8_collate(one.ssidText, two.ssidText);
-+ },
-+
- _networkCompare: function(network, accessPoint) {
- if (!ssidCompare(network.ssid, accessPoint.get_ssid()))
- return false;
-@@ -1173,6 +1230,8 @@ NMDeviceWireless.prototype = {
- _accessPointAdded: function(device, accessPoint) {
- let pos = this._findNetwork(accessPoint);
- let apObj;
-+ let needsupdate = false;
-+
- if (pos != -1) {
- apObj = this._networks[pos];
- if (apObj.accessPoints.indexOf(accessPoint) != -1) {
-@@ -1181,6 +1240,8 @@ NMDeviceWireless.prototype = {
- }
-
- apObj.accessPoints.push(accessPoint);
-+ if (apObj.item)
-+ apObj.item.updateAccessPoints(apObj.accessPoints);
- } else {
- apObj = { ssid: accessPoint.get_ssid(),
- mode: accessPoint.mode,
-@@ -1189,7 +1250,8 @@ NMDeviceWireless.prototype = {
- item: null,
- accessPoints: [ accessPoint ]
- };
-- this._networks.push(apObj);
-+ apObj.ssidText = NetworkManager.utils_ssid_to_utf8(apObj.ssid);
-+ needsupdate = true;
- }
-
- // check if this enables new connections for this group
-@@ -1198,12 +1260,44 @@ NMDeviceWireless.prototype = {
- if (this._connectionValidForAP(connection, accessPoint) &&
- apObj.connections.indexOf(connection) == -1) {
- apObj.connections.push(connection);
-+
-+ // this potentially changes the order
-+ needsupdate = true;
- }
- }
-
-- // update everything
-- this._clearSection();
-- this._createSection();
-+ if (needsupdate) {
-+ if (apObj.item)
-+ apObj.item.destroy();
-+
-+ if (pos != -1)
-+ this._networks.splice(pos, 1);
-+
-+ if (this._networks.length == 0) {
-+ // only network in the list
-+ this._networks.push(apObj);
-+ this._clearSection();
-+ this._createSection();
-+ return;
-+ }
-+
-+ // skip networks that should appear earlier
-+ let menuPos = 0;
-+ for (pos = 0;
-+ pos < this._networks.length &&
-+ this._networkSortFunction(this._networks[i], apObj) < 0; ++pos) {
-+ if (this._networks[pos] != this._activeNetwork)
-+ menuPos++;
-+ }
-+
-+ // (re-)add the network
-+ this._networks.splice(pos, 0, apObj);
-+
-+ if (this._shouldShowConnectionList()) {
-+ menuPos += (this._activeConnectionItem ? 1 : 0);
-+ this._createNetworkItem(apObj, menuPos);
-+ }
-+ }
- },
-
- _accessPointRemoved: function(device, accessPoint) {
-@@ -1315,6 +1409,12 @@ NMDeviceWireless.prototype = {
- // remove the connection from the access point group
- connections.splice(k);
- anyauto = connections.length == 0;
-+
-+ if (anyauto) {
-+ // this potentially changes the sorting order
-+ forceupdate = true;
-+ break;
-+ }
- if (apObj.item) {
- if (apObj.item instanceof PopupMenu.PopupSubMenuMenuItem) {
- let items = apObj.item.menu.getMenuItems();
-@@ -1340,6 +1440,7 @@ NMDeviceWireless.prototype = {
- }
-
- if (forceupdate || anyauto) {
-+ this._networks.sort(this._networkSortFunction);
- this._clearSection();
- this._createSection();
- }
-@@ -1355,42 +1456,24 @@ NMDeviceWireless.prototype = {
- this._connections.push(obj);
-
- // find an appropriate access point
-- let any = false, forceupdate = false;
-+ let forceupdate = false;
- for (let i = 0; i < this._networks.length; i++) {
- let apObj = this._networks[i];
-
- // Check if connection is valid for any of these access points
-- let any = false;
- for (let k = 0; k < apObj.accessPoints.length; k++) {
- let ap = apObj.accessPoints[k];
- if (this._connectionValidForAP(connection, ap)) {
- apObj.connections.push(connection);
-- any = true;
-+ // this potentially changes the sorting order
-+ forceupdate = true;
- break;
- }
- }
--
-- if (any && this._shouldShowConnectionList()) {
-- // we need to show this connection
-- if (apObj.item && apObj.item.menu) {
-- // We're already showing the submenu for this access point
-- apObj.item.menu.addMenuItem(this._createAPItem(connection, apObj, true));
-- } else {
-- if (apObj.item)
-- apObj.item.destroy();
-- if (apObj.connections.length == 1) {
-- apObj.item = this._createAPItem(connection, apObj, false);
-- this.section.addMenuItem(apObj.item);
-- } else {
-- apObj.item = null;
-- // we need to force an update to create the submenu
-- forceupdate = true;
-- }
-- }
-- }
- }
-
- if (forceupdate) {
-+ this._networks.sort(this._networkSortFunction);
- this._clearSection();
- this._createSection();
- }
-@@ -1473,6 +1556,37 @@ NMDeviceWireless.prototype = {
- return connection;
- },
-
-+ _createNetworkItem: function(apObj, position) {
-+ if(apObj.connections.length > 0) {
-+ if (apObj.connections.length == 1)
-+ apObj.item = this._createAPItem(apObj.connections[0], apObj, false);
-+ else {
-+ let title = apObj.ssidText;
-+ apObj.item = new PopupMenu.PopupSubMenuMenuItem(title);
-+ apObj.item._apObj = apObj;
-+ for (let i = 0; i < apObj.connections.length; i++)
-+ apObj.item.menu.addMenuItem(this._createAPItem(apObj.connections[i], apObj, true));
-+ }
-+ } else {
-+ apObj.item = new NMNetworkMenuItem(apObj.accessPoints);
-+ apObj.item._apObj = apObj;
-+ apObj.item.connect('activate', Lang.bind(this, function() {
-+ let connection = this._createAutomaticConnection(apObj);
-+ let accessPoints = sortAccessPoints(apObj.accessPoints);
-+ this._client.add_and_activate_connection(connection, this.device, accessPoints[0].dbus_path, null)
-+ }));
-+ }
-+ if (position < NUM_VISIBLE_NETWORKS)
-+ this.section.addMenuItem(apObj.item);
-+ else {
-+ if (!this._overflowItem) {
-+ this._overflowItem = new PopupMenu.PopupSubMenuMenuItem(_("More..."));
-+ this.section.addMenuItem(this._overflowItem);
-+ }
-+ this._overflowItem.menu.addMenuItem(apObj.item, position - NUM_VISIBLE_NETWORKS);
-+ }
-+ },
-+
- _createSection: function() {
- if (!this._shouldShowConnectionList())
- return;
-@@ -1482,47 +1596,14 @@ NMDeviceWireless.prototype = {
- this.section.addMenuItem(this._activeConnectionItem);
- }
-
-- let activeAp = this.device.active_access_point;
-- let activeApSsid = activeAp ? activeAp.get_ssid() : null;
--
-- // we want five access points in the menu, including the active one
-- let numItems = this._activeConnection ? 4 : 5;
-+ let activeOffset = this._activeConnectionItem ? 1 : 0;
-
- for(let j = 0; j < this._networks.length; j++) {
- let apObj = this._networks[j];
-- if(activeAp && ssidCompare(apObj.ssid, activeApSsid))
-+ if (apObj == this._activeNetwork)
- continue;
-
-- let menuItem;
-- if(apObj.connections.length > 0) {
-- if (apObj.connections.length == 1)
-- apObj.item = this._createAPItem(apObj.connections[0], apObj, false);
-- else {
-- let title = NetworkManager.utils_ssid_to_utf8(apObj.ssid) || _("<unknown>");
-- apObj.item = new PopupMenu.PopupSubMenuMenuItem(title);
-- apObj.item._apObj = apObj;
-- for (let i = 0; i < apObj.connections.length; i++)
-- apObj.item.menu.addMenuItem(this._createAPItem(apObj.connections[i], apObj, true));
-- }
-- } else {
-- apObj.item = new NMNetworkMenuItem(apObj.accessPoints);
-- apObj.item._apObj = apObj;
-- apObj.item.connect('activate', Lang.bind(this, function() {
-- let connection = this._createAutomaticConnection(apObj);
-- let accessPoints = sortAccessPoints(apObj.accessPoints);
-- this._client.add_and_activate_connection(connection, this.device, accessPoints[0].dbus_path, null)
-- }));
-- }
--
-- if (j < numItems)
-- this.section.addMenuItem(apObj.item);
-- else {
-- if (!this._overflowItem) {
-- this._overflowItem = new PopupMenu.PopupSubMenuMenuItem(_("More..."));
-- this.section.addMenuItem(this._overflowItem);
-- }
-- this._overflowItem.menu.addMenuItem(apObj.item);
-- }
-+ this._createNetworkItem(apObj, j + activeOffset);
- }
- },
- };
---
-cgit v0.9
-From 42a5531f1588ae3063e7d8ff7642e9f81c13afbd Mon Sep 17 00:00:00 2001
-From: Dan Winship <danw@gnome.org>
-Date: Wed, 27 Apr 2011 13:05:39 +0000
-Subject: network: fix a variable name
-
----
-(limited to 'js/ui/status/network.js')
-
-diff --git a/js/ui/status/network.js b/js/ui/status/network.js
-index 49cb3f0..d56c0b1 100644
---- a/js/ui/status/network.js
-+++ b/js/ui/status/network.js
-@@ -1285,7 +1285,7 @@ NMDeviceWireless.prototype = {
- let menuPos = 0;
- for (pos = 0;
- pos < this._networks.length &&
-- this._networkSortFunction(this._networks[i], apObj) < 0; ++pos) {
-+ this._networkSortFunction(this._networks[pos], apObj) < 0; ++pos) {
- if (this._networks[pos] != this._activeNetwork)
- menuPos++;
- }
---
-cgit v0.9
-From c31109800b3267df433841bff08c9383a5d669cb Mon Sep 17 00:00:00 2001
-From: Dan Williams <dcbw@redhat.com>
-Date: Mon, 25 Apr 2011 22:13:12 +0000
-Subject: network: simplify connection sorting by using libnm-glib functions
-
-Instead of rolling our own code, use new libnm-glib functions to do
-the same thing. Requires libnm-glib as of
-779215c742bbe29a2c66202ec7e2e6d43edeb8ff (which will be part of 0.9).
-
-Fixes https://bugzilla.gnome.org/show_bug.cgi?id=648648
----
-(limited to 'js/ui/status/network.js')
-
-diff --git a/js/ui/status/network.js b/js/ui/status/network.js
-index d56c0b1..bf8e272 100644
---- a/js/ui/status/network.js
-+++ b/js/ui/status/network.js
-@@ -505,7 +505,7 @@ NMDevice.prototype = {
- },
-
- connectionValid: function(connection) {
-- throw new TypeError('Invoking pure virtual function NMDevice.connectionValid');
-+ return this.device.connection_valid(connection);
- },
-
- setEnabled: function(enabled) {
-@@ -723,17 +723,6 @@ NMDeviceWired.prototype = {
- NMDevice.prototype._init.call(this, client, device, connections);
- },
-
-- connectionValid: function(connection) {
-- if (connection._type != NetworkManager.SETTING_WIRED_SETTING_NAME)
-- return false;
--
-- let ethernetSettings = connection.get_setting_by_name(NetworkManager.SETTING_WIRED_SETTING_NAME);
-- let fixedMac = ethernetSettings.get_mac_address();
-- if (fixedMac)
-- return macCompare(fixedMac, macToArray(this.device.perm_hw_address));
-- return true;
-- },
--
- _createSection: function() {
- NMDevice.prototype._createSection.call(this);
-
-@@ -876,10 +865,6 @@ NMDeviceModem.prototype = {
- NMDevice.prototype._clearSection.call(this);
- },
-
-- connectionValid: function(connection) {
-- return connection._type == this._connectionType;
-- },
--
- _createAutomaticConnection: function() {
- // FIXME: we need to summon the mobile wizard here
- // or NM will not have the necessary parameters to complete the connection
-@@ -913,18 +898,6 @@ NMDeviceBluetooth.prototype = {
- NMDevice.prototype._init.call(this, client, device, connections);
- },
-
-- connectionValid: function(connection) {
-- if (connection._type != NetworkManager.SETTING_BLUETOOTH_SETTING_NAME)
-- return false;
--
-- let bluetoothSettings = connection.get_setting_by_name(NetworkManager.SETTING_BLUETOOTH_SETTING_NAME);
-- let fixedBdaddr = bluetoothSettings.get_bdaddr();
-- if (fixedBdaddr)
-- return macCompare(fixedBdaddr, macToArray(this.device.hw_address));
--
-- return true;
-- },
--
- _createAutomaticConnection: function() {
- let connection = new NetworkManager.Connection;
- connection._uuid = NetworkManager.utils_uuid_generate();
-@@ -1047,7 +1020,7 @@ NMDeviceWireless.prototype = {
- // Check if some connection is valid for this AP
- for (let j = 0; j < validConnections.length; j++) {
- let connection = validConnections[j];
-- if (this._connectionValidForAP(connection, ap) &&
-+ if (ap.connection_valid(connection) &&
- obj.connections.indexOf(connection) == -1) {
- obj.connections.push(connection);
- }
-@@ -1121,7 +1094,7 @@ NMDeviceWireless.prototype = {
- if (best) {
- for (let i = 0; i < bestApObj.accessPoints.length; i++) {
- let ap = bestApObj.accessPoints[i];
-- if (this._connectionValidForAP(best, ap)) {
-+ if (ap.connection_valid(best)) {
- this._client.activate_connection(best, this.device, ap.dbus_path, null);
- break;
- }
-@@ -1257,7 +1230,7 @@ NMDeviceWireless.prototype = {
- // check if this enables new connections for this group
- for (let i = 0; i < this._connections.length; i++) {
- let connection = this._connections[i].connection;
-- if (this._connectionValidForAP(connection, accessPoint) &&
-+ if (accessPoint.connection_valid(connection) &&
- apObj.connections.indexOf(connection) == -1) {
- apObj.connections.push(connection);
-
-@@ -1337,7 +1310,7 @@ NMDeviceWireless.prototype = {
- item.connect('activate', Lang.bind(this, function() {
- let accessPoints = sortAccessPoints(accessPointObj.accessPoints);
- for (let i = 0; i < accessPoints.length; i++) {
-- if (this._connectionValidForAP(connection, accessPoints[i])) {
-+ if (accessPoints[i].connection_valid(connection)) {
- this._client.activate_connection(connection, this.device, accessPoints[i].dbus_path, null);
- break;
- }
-@@ -1346,40 +1319,6 @@ NMDeviceWireless.prototype = {
- return item;
- },
-
-- connectionValid: function(connection) {
-- if (connection._type != NetworkManager.SETTING_WIRELESS_SETTING_NAME)
-- return false;
--
-- let wirelessSettings = connection.get_setting_by_name(NetworkManager.SETTING_WIRELESS_SETTING_NAME);
-- let wirelessSecuritySettings = connection.get_setting_by_name(NetworkManager.SETTING_WIRELESS_SECURITY_SETTING_NAME);
--
-- let fixedMac = wirelessSettings.get_mac_address();
-- if (fixedMac && !macCompare(fixedMac, macToArray(this.device.perm_hw_address)))
-- return false;
--
-- if (wirelessSecuritySettings &&
-- wirelessSecuritySettings.key_mgmt != 'none' &&
-- wirelessSecuritySettings.key_mgmt != 'ieee8021x') {
-- let capabilities = this.device.wireless_capabilities;
-- if (!(capabilities & NetworkManager.DeviceWifiCapabilities.WPA) ||
-- !(capabilities & NetworkManager.DeviceWifiCapabilities.CIPHER_TKIP))
-- return false;
-- if (wirelessSecuritySettings.get_num_protos() == 1 &&
-- wirelessSecuritySettings.get_proto(0) == 'rsn' &&
-- !(capabilities & NetworkManager.DeviceWifiCapabilities.RSN))
-- return false;
-- if (wirelessSecuritySettings.get_num_pairwise() == 1 &&
-- wirelessSecuritySettings.get_pairwise(0) == 'ccmp' &&
-- !(capabilities & NetworkManager.DeviceWifiCapabilities.CIPHER_CCMP))
-- return false;
-- if (wirelessSecuritySettings.get_num_groups() == 1 &&
-- wirelessSecuritySettings.get_group(0) == 'ccmp' &&
-- !(capabilities & NetworkManager.DeviceWifiCapabilities.CIPHER_CCMP))
-- return false;
-- }
-- return true;
-- },
--
- _clearSection: function() {
- NMDevice.prototype._clearSection.call(this);
-
-@@ -1463,7 +1402,7 @@ NMDeviceWireless.prototype = {
- // Check if connection is valid for any of these access points
- for (let k = 0; k < apObj.accessPoints.length; k++) {
- let ap = apObj.accessPoints[k];
-- if (this._connectionValidForAP(connection, ap)) {
-+ if (ap.connection_valid(connection)) {
- apObj.connections.push(connection);
- // this potentially changes the sorting order
- forceupdate = true;
-@@ -1479,37 +1418,6 @@ NMDeviceWireless.prototype = {
- }
- },
-
-- _connectionValidForAP: function(connection, ap) {
-- // copied and adapted from nm-applet
-- let wirelessSettings = connection.get_setting_by_name(NetworkManager.SETTING_WIRELESS_SETTING_NAME);
-- if (!ssidCompare(wirelessSettings.get_ssid(), ap.get_ssid()))
-- return false;
--
-- let wirelessSecuritySettings = connection.get_setting_by_name(NetworkManager.SETTING_WIRELESS_SECURITY_SETTING_NAME);
--
-- let fixedBssid = wirelessSettings.get_bssid();
-- if (fixedBssid && !macCompare(fixedBssid, macToArray(ap.hw_address)))
-- return false;
--
-- let fixedBand = wirelessSettings.band;
-- if (fixedBand) {
-- let freq = ap.frequency;
-- if (fixedBand == 'a' && (freq < 4915 || freq > 5825))
-- return false;
-- if (fixedBand == 'bg' && (freq < 2412 || freq > 2484))
-- return false;
-- }
--
-- let fixedChannel = wirelessSettings.channel;
-- if (fixedChannel && fixedChannel != NetworkManager.utils_wifi_freq_to_channel(ap.frequency))
-- return false;
--
-- if (!wirelessSecuritySettings)
-- return true;
--
-- return wirelessSettings.ap_security_compatible(wirelessSecuritySettings, ap.flags, ap.wpa_flags, ap.rsn_flags, ap.mode);
-- },
--
- _createActiveConnectionItem: function() {
- let activeAp = this.device.active_access_point;
- let icon, title;
---
-cgit v0.9
-From 101a07a3d79223cc153a6c65f22acd76cbae4818 Mon Sep 17 00:00:00 2001
-From: Dan Williams <dcbw@redhat.com>
-Date: Tue, 03 May 2011 17:21:45 +0000
-Subject: network: fix handling of AP flags and enhance for 802.1x
-
-All WPA APs were getting set as WPA2 due to the check for privacy;
-WPA/WPA2 APs *must* set the Privacy bit according to the standard,
-so we'd never end up in the case for NMAccessPointSecurity.WPA.
-
-Fix that, and also add flags for WPA[2] Enterprise which we'll
-use a bit later for the first-time connect case for 802.1x enabled
-access points.
----
-(limited to 'js/ui/status/network.js')
-
-diff --git a/js/ui/status/network.js b/js/ui/status/network.js
-index bf8e272..6f0cdac 100644
---- a/js/ui/status/network.js
-+++ b/js/ui/status/network.js
-@@ -33,8 +33,10 @@ const NMAccessPointSecurity = {
- UNKNOWN: 0,
- NONE: 1,
- WEP: 2,
-- WPA: 3,
-- WPA2: 4
-+ WPA_PSK: 3,
-+ WPA2_PSK: 4,
-+ WPA_ENT: 5,
-+ WPA2_ENT: 6
- };
-
- // small optimization, to avoid using [] all the time
-@@ -1129,26 +1131,28 @@ NMDeviceWireless.prototype = {
- _getApSecurityType: function(accessPoint) {
- if (accessPoint._secType)
- return accessPoint._secType;
-- // XXX: have this checked by someone familiar with IEEE 802.1x
-
- let flags = accessPoint.flags;
- let wpa_flags = accessPoint.wpa_flags;
- let rsn_flags = accessPoint.rsn_flags;
- let type;
-- if ( !(flags & NM80211ApFlags.PRIVACY)
-- && (wpa_flags == NM80211ApSecurityFlags.NONE)
-- && (rsn_flags == NM80211ApSecurityFlags.NONE))
-- type = NMAccessPointSecurity.NONE;
-- else if ( (flags & NM80211ApFlags.PRIVACY)
-- && (wpa_flags == NM80211ApSecurityFlags.NONE)
-- && (rsn_flags == NM80211ApSecurityFlags.NONE))
-- type = NMAccessPointSecurity.WEP;
-- else if ( !(flags & NM80211ApFlags.PRIVACY)
-- && (wpa_flags != NM80211ApSecurity.NONE)
-- && (rsn_flags != NM80211ApSecurity.NONE))
-- type = NMAccessPointSecurity.WPA;
-- else
-- type = NMAccessPointSecurity.WPA2;
-+ if (rsn_flags != NM80211ApSecurityFlags.NONE) {
-+ /* RSN check first so that WPA+WPA2 APs are treated as RSN/WPA2 */
-+ if (rsn_flags & NM80211ApSecurityFlags.KEY_MGMT_802_1X)
-+ type = NMAccessPointSecurity.WPA2_ENT;
-+ else if (rsn_flags & NM80211ApSecurityFlags.KEY_MGMT_PSK)
-+ type = NMAccessPointSecurity.WPA2_PSK;
-+ } else if (wpa_flags != NM80211ApSecurityFlags.NONE) {
-+ if (wpa_flags & NM80211ApSecurityFlags.KEY_MGMT_802_1X)
-+ type = NMAccessPointSecurity.WPA_ENT;
-+ else if (wpa_flags & NM80211ApSecurityFlags.KEY_MGMT_PSK)
-+ type = NMAccessPointSecurity.WPA_PSK;
-+ } else {
-+ if (flags & NM80211ApFlags.PRIVACY)
-+ type = NMAccessPointSecurity.WEP;
-+ else
-+ type = NMAccessPointSecurity.NONE;
-+ }
-
- // cache the found value to avoid checking flags all the time
- accessPoint._secType = type;
---
-cgit v0.9
-From ae0652d13fc2d7caa3d64f2b87d174253cae5901 Mon Sep 17 00:00:00 2001
-From: Dan Williams <dcbw@redhat.com>
-Date: Tue, 03 May 2011 18:31:45 +0000
-Subject: network: fix initial connections to WPA[2] Enterprise APs
-
-Call out to nm-applet to do the dirty work since the dialog of
-doom is pretty complicated and we don't have a JS equivalent
-of it for now.
-
-Fixes https://bugzilla.gnome.org/show_bug.cgi?id=648171
----
-(limited to 'js/ui/status/network.js')
-
-diff --git a/js/ui/status/network.js b/js/ui/status/network.js
-index 6f0cdac..ca4facf 100644
---- a/js/ui/status/network.js
-+++ b/js/ui/status/network.js
-@@ -48,6 +48,16 @@ const NM80211ApSecurityFlags = NetworkManager['80211ApSecurityFlags'];
- // (the remaining are placed into More...)
- const NUM_VISIBLE_NETWORKS = 5;
-
-+const NMAppletHelperInterface = {
-+ name: 'org.gnome.network_manager_applet',
-+ methods: [
-+ { name: 'ConnectToHiddenNetwork', inSignature: '', outSignature: '' },
-+ { name: 'CreateWifiNetwork', inSignature: '', outSignature: '' },
-+ { name: 'ConnectTo8021xNetwork', inSignature: 'oo', outSignature: '' }
-+ ],
-+};
-+const NMAppletProxy = DBus.makeProxyClass(NMAppletHelperInterface);
-+
- function macToArray(string) {
- return string.split(':').map(function(el) {
- return parseInt(el, 16);
-@@ -991,6 +1001,10 @@ NMDeviceWireless.prototype = {
- this._overflowItem = null;
- this._networks = [ ];
-
-+ this._applet_proxy = new NMAppletProxy(DBus.session,
-+ 'org.gnome.network_manager_applet',
-+ '/org/gnome/network_manager_applet');
-+
- // breaking the layers with this, but cannot call
- // this.connectionValid until I have a device
- this.device = device;
-@@ -1483,9 +1497,20 @@ NMDeviceWireless.prototype = {
- apObj.item = new NMNetworkMenuItem(apObj.accessPoints);
- apObj.item._apObj = apObj;
- apObj.item.connect('activate', Lang.bind(this, function() {
-- let connection = this._createAutomaticConnection(apObj);
- let accessPoints = sortAccessPoints(apObj.accessPoints);
-- this._client.add_and_activate_connection(connection, this.device, accessPoints[0].dbus_path, null)
-+ if ( (accessPoints[0]._secType == NMAccessPointSecurity.WPA2_ENT)
-+ || (accessPoints[0]._secType == NMAccessPointSecurity.WPA_ENT)) {
-+ // 802.1x-enabled APs get handled by nm-applet for now...
-+ this._applet_proxy.ConnectTo8021xNetworkRemote(this.device.get_path(),
-+ accessPoints[0].dbus_path,
-+ Lang.bind(this, function(results, err) {
-+ if (err)
-+ log(err);
-+ }));
-+ } else {
-+ let connection = this._createAutomaticConnection(apObj);
-+ this._client.add_and_activate_connection(connection, this.device, accessPoints[0].dbus_path, null)
-+ }
- }));
- }
- if (position < NUM_VISIBLE_NETWORKS)
---
-cgit v0.9
-From 5090a4ccce87643081138272fb8a2fe687f1ed0a Mon Sep 17 00:00:00 2001
-From: Dan Williams <dcbw@redhat.com>
-Date: Tue, 03 May 2011 19:48:10 +0000
-Subject: network: request that nm-applet show the mobile broadband wizard
-
-Use nm-applet 0.8.999 API to call the mobile broadband wizard and
-activate the new connection.
-
-Fixes https://bugzilla.gnome.org/show_bug.cgi?id=649318
----
-(limited to 'js/ui/status/network.js')
-
-diff --git a/js/ui/status/network.js b/js/ui/status/network.js
-index ca4facf..756b27f 100644
---- a/js/ui/status/network.js
-+++ b/js/ui/status/network.js
-@@ -53,7 +53,8 @@ const NMAppletHelperInterface = {
- methods: [
- { name: 'ConnectToHiddenNetwork', inSignature: '', outSignature: '' },
- { name: 'CreateWifiNetwork', inSignature: '', outSignature: '' },
-- { name: 'ConnectTo8021xNetwork', inSignature: 'oo', outSignature: '' }
-+ { name: 'ConnectTo8021xNetwork', inSignature: 'oo', outSignature: '' },
-+ { name: 'ConnectTo3gNetwork', inSignature: 'o', outSignature: '' }
- ],
- };
- const NMAppletProxy = DBus.makeProxyClass(NMAppletHelperInterface);
-@@ -440,7 +441,8 @@ NMDevice.prototype = {
- this._client.activate_connection(this._connections[0].connection, this.device, null, null);
- } else if (this._autoConnectionName) {
- let connection = this._createAutomaticConnection();
-- this._client.add_and_activate_connection(connection, this.device, null, null);
-+ if (connection)
-+ this._client.add_and_activate_connection(connection, this.device, null, null);
- }
- },
-
-@@ -620,7 +622,8 @@ NMDevice.prototype = {
- this._autoConnectionItem = new PopupMenu.PopupMenuItem(this._autoConnectionName);
- this._autoConnectionItem.connect('activate', Lang.bind(this, function() {
- let connection = this._createAutomaticConnection();
-- this._client.add_and_activate_connection(connection, this.device, null, null);
-+ if (connection)
-+ this._client.add_and_activate_connection(connection, this.device, null, null);
- }));
- this.section.addMenuItem(this._autoConnectionItem);
- }
-@@ -777,6 +780,10 @@ NMDeviceModem.prototype = {
- this.mobileDevice = null;
- this._connectionType = 'ppp';
-
-+ this._applet_proxy = new NMAppletProxy(DBus.session,
-+ 'org.gnome.network_manager_applet',
-+ '/org/gnome/network_manager_applet');
-+
- this._capabilities = device.current_capabilities;
- if (this._capabilities & NetworkManager.DeviceModemCapabilities.GSM_UMTS) {
- is_wwan = true;
-@@ -878,19 +885,13 @@ NMDeviceModem.prototype = {
- },
-
- _createAutomaticConnection: function() {
-- // FIXME: we need to summon the mobile wizard here
-- // or NM will not have the necessary parameters to complete the connection
-- // pending a DBus method on nm-applet
--
-- let connection = new NetworkManager.Connection;
-- connection._uuid = NetworkManager.utils_uuid_generate();
-- connection.add_setting(new NetworkManager.SettingConnection({
-- uuid: connection._uuid,
-- id: this._autoConnectionName,
-- type: this._connectionType,
-- autoconnect: false
-- }));
-- return connection;
-+ // Mobile wizard is handled by nm-applet for now...
-+ this._applet_proxy.ConnectTo3gNetworkRemote(this.device.get_path(),
-+ Lang.bind(this, function(results, err) {
-+ if (err)
-+ log(err);
-+ }));
-+ return null;
- }
- };
-
---
-cgit v0.9
diff --git a/extra/gnome-shell/shell-xfixes-cursor_missing_free.patch b/extra/gnome-shell/shell-xfixes-cursor_missing_free.patch
deleted file mode 100644
index 6a66c9384..000000000
--- a/extra/gnome-shell/shell-xfixes-cursor_missing_free.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 88de26138a8b79d89884ff2eb6471c5a8e3b39ca Mon Sep 17 00:00:00 2001
-From: Maxim Ermilov <zaspire@rambler.ru>
-Date: Thu, 05 May 2011 10:06:05 +0000
-Subject: shell-xfixes-cursor: missing XFree
-
-memory returned by XFixesGetCursorImage should be freed after usage.
-https://bugzilla.gnome.org/show_bug.cgi?id=642652
----
-diff --git a/src/shell-xfixes-cursor.c b/src/shell-xfixes-cursor.c
-index 14d2b59..334503d 100644
---- a/src/shell-xfixes-cursor.c
-+++ b/src/shell-xfixes-cursor.c
-@@ -254,6 +254,7 @@ xfixes_cursor_reset_image (ShellXFixesCursor *xfixes_cursor)
- xfixes_cursor->cursor_hot_y = cursor_image->yhot;
- g_signal_emit (xfixes_cursor, signals[CURSOR_CHANGED], 0);
- }
-+ XFree (cursor_image);
- }
-
- static void
---
-cgit v0.9
diff --git a/extra/gnome-shell/st-private_correct_fix_memory_leak.patch b/extra/gnome-shell/st-private_correct_fix_memory_leak.patch
deleted file mode 100644
index d3f887c29..000000000
--- a/extra/gnome-shell/st-private_correct_fix_memory_leak.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From c975740f9228b2c53d79ac08ad704fca5f1c5b6e Mon Sep 17 00:00:00 2001
-From: Colin Walters <walters@verbum.org>
-Date: Wed, 11 May 2011 15:21:18 +0000
-Subject: st-private: Correct fix for memory leak
-
-The previous fix in 72f9f482d was wrong; we need to keep around
-the buffer until cairo is done with the pattern.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=649497
----
-diff --git a/src/st/st-private.c b/src/st/st-private.c
-index 51798a1..21ca09a 100644
---- a/src/st/st-private.c
-+++ b/src/st/st-private.c
-@@ -667,6 +667,7 @@ cairo_pattern_t *
- _st_create_shadow_cairo_pattern (StShadow *shadow_spec,
- cairo_pattern_t *src_pattern)
- {
-+ static cairo_user_data_key_t shadow_pattern_user_data;
- cairo_t *cr;
- cairo_surface_t *src_surface;
- cairo_surface_t *surface_in;
-@@ -728,6 +729,8 @@ _st_create_shadow_cairo_pattern (StShadow *shadow_spec,
- width_out,
- height_out,
- rowstride_out);
-+ cairo_surface_set_user_data (surface_out, &shadow_pattern_user_data,
-+ pixels_out, (cairo_destroy_func_t) g_free);
-
- dst_pattern = cairo_pattern_create_for_surface (surface_out);
- cairo_surface_destroy (surface_out);
-@@ -745,8 +748,7 @@ _st_create_shadow_cairo_pattern (StShadow *shadow_spec,
- (width_out - width_in) / 2.0,
- (height_out - height_in) / 2.0);
- cairo_pattern_set_matrix (dst_pattern, &shadow_matrix);
--
-- goto out;
-+ return dst_pattern;
- }
-
- /* Read all the code from the cairo_pattern_set_matrix call
-@@ -784,8 +786,6 @@ _st_create_shadow_cairo_pattern (StShadow *shadow_spec,
-
- cairo_pattern_set_matrix (dst_pattern, &shadow_matrix);
-
-- out:
-- g_free (pixels_out);
- return dst_pattern;
- }
-
---
-cgit v0.9
diff --git a/extra/gnome-shell/st-private_fix_memory_leak.patch b/extra/gnome-shell/st-private_fix_memory_leak.patch
deleted file mode 100644
index 677a26531..000000000
--- a/extra/gnome-shell/st-private_fix_memory_leak.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 72f9f482d6f1bcb53ea2bd1606818af1f33a5a8c Mon Sep 17 00:00:00 2001
-From: Colin Walters <walters@verbum.org>
-Date: Thu, 05 May 2011 19:21:58 +0000
-Subject: st-private: Fix memory leak
-
-==13810== 11,360 bytes in 1 blocks are definitely lost in loss record 18,574 of 18,765
-==13810== at 0x4005447: calloc (vg_replace_malloc.c:467)
-==13810== by 0x5191882: standard_calloc (gmem.c:107)
-==13810== by 0x51920A7: g_malloc0 (gmem.c:196)
-==13810== by 0x4056201: blur_pixels (st-private.c:466)
-==13810== by 0x40573B4: _st_create_shadow_cairo_pattern (st-private.c:710)
-==13810== by 0x4070746: st_theme_node_paint (st-theme-node-drawing.c:856)
-==13810== by 0x3FEFFFFF: ???
-
-https://bugzilla.gnome.org/show_bug.cgi?id=649497
----
-diff --git a/src/st/st-private.c b/src/st/st-private.c
-index d0aa89b..51798a1 100644
---- a/src/st/st-private.c
-+++ b/src/st/st-private.c
-@@ -746,7 +746,7 @@ _st_create_shadow_cairo_pattern (StShadow *shadow_spec,
- (height_out - height_in) / 2.0);
- cairo_pattern_set_matrix (dst_pattern, &shadow_matrix);
-
-- return dst_pattern;
-+ goto out;
- }
-
- /* Read all the code from the cairo_pattern_set_matrix call
-@@ -784,6 +784,8 @@ _st_create_shadow_cairo_pattern (StShadow *shadow_spec,
-
- cairo_pattern_set_matrix (dst_pattern, &shadow_matrix);
-
-+ out:
-+ g_free (pixels_out);
- return dst_pattern;
- }
-
---
-cgit v0.9