--- a/firefox-kde.patch Tue Jan 23 17:32:46 2024 +0100
+++ b/firefox-kde.patch Thu Feb 22 20:31:18 2024 +0100
@@ -29,7 +29,7 @@
diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
--- a/browser/components/preferences/main.js
+++ b/browser/components/preferences/main.js
-@@ -291,16 +291,23 @@ var gMainPane = {
+@@ -292,16 +292,23 @@ var gMainPane = {
}, backoffTimes[this._backoffIndex + 1 < backoffTimes.length ? this._backoffIndex++ : backoffTimes.length - 1]);
};
@@ -53,15 +53,15 @@
let defaultPerformancePref = Preferences.get(
"browser.preferences.defaultPerformanceSettings.enabled"
);
-@@ -1744,16 +1751,27 @@ var gMainPane = {
- this._backoffIndex = 0;
+@@ -1753,16 +1760,27 @@ var gMainPane = {
- let shellSvc = getShellService();
- if (!shellSvc) {
- return;
- }
+ // Disable the set default button, so that the user doesn't try to hit it again
+ // while awaiting on setDefaultBrowser
+ let setDefaultButton = document.getElementById("setDefaultButton");
+ setDefaultButton.disabled = true;
+
try {
- shellSvc.setDefaultBrowser(false);
+ await shellSvc.setDefaultBrowser(false);
+ if (kde_session == 1) {
+ var shellObj = Components.classes["@mozilla.org/file/local;1"]
+ .createInstance(Components.interfaces.nsILocalFile);
@@ -76,11 +76,11 @@
} catch (ex) {
console.error(ex);
return;
+ } finally {
+ // Make sure to re-enable the default button when we're finished, regardless of the outcome
+ setDefaultButton.disabled = false;
}
- let isDefault = shellSvc.isDefaultBrowser(false, true);
- let setDefaultPane = document.getElementById("setDefaultPane");
- setDefaultPane.classList.toggle("is-default", isDefault);
diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build
--- a/browser/components/shell/moz.build
+++ b/browser/components/shell/moz.build