Hello community, here is the log from the commit of package MozillaFirefox for openSUSE:Factory checked in at 2018-05-27 13:02:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/MozillaFirefox (Old) and /work/SRC/openSUSE:Factory/.MozillaFirefox.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MozillaFirefox" Sun May 27 13:02:38 2018 rev:273 rq:612426 version:60.0.1 Changes: -------- --- /work/SRC/openSUSE:Factory/MozillaFirefox/MozillaFirefox.changes 2018-05-23 16:07:43.373012307 +0200 +++ /work/SRC/openSUSE:Factory/.MozillaFirefox.new/MozillaFirefox.changes 2018-05-27 13:02:40.813231602 +0200 @@ -1,0 +2,7 @@ +Sat May 26 15:53:25 UTC 2018 - w...@rosenauer.org + +- fixed "open with" option under KDE (boo#1094747) +- workaround crash on startup on aarch64 (boo#1093059) + (contributed by guilla...@arm.com) + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ MozillaFirefox.spec ++++++ --- /var/tmp/diff_new_pack.fiHyDe/_old 2018-05-27 13:02:48.192961567 +0200 +++ /var/tmp/diff_new_pack.fiHyDe/_new 2018-05-27 13:02:48.192961567 +0200 @@ -305,6 +305,10 @@ %if 0%{?suse_version} > 1320 export CFLAGS="$CFLAGS -fno-delete-null-pointer-checks" %endif +%ifarch aarch64 +# Workaround crash on startup. boo#1093059 +export CFLAGS="$CFLAGS -ffixed-x28" +%endif %ifarch %arm export CFLAGS="${CFLAGS/-g / }" %endif ++++++ mozilla-kde.patch ++++++ --- /var/tmp/diff_new_pack.fiHyDe/_old 2018-05-27 13:02:48.440952493 +0200 +++ /var/tmp/diff_new_pack.fiHyDe/_new 2018-05-27 13:02:48.440952493 +0200 @@ -1,5 +1,5 @@ # HG changeset patch -# Parent 9cc0c990890e64f69ed068cf1a4534535bcc50a7 +# Parent d7a4d772ba2afb3ac43e2f2f234ffa55bcf50e70 Description: Add KDE integration to Firefox (toolkit parts) Author: Wolfgang Rosenauer <wolfg...@rosenauer.org> Author: Lubos Lunak <lu...@suse.com> @@ -714,7 +714,7 @@ this.mDialog.document.documentElement.getButton("accept").disabled = !ok; }, -@@ -1066,30 +1066,57 @@ nsUnknownContentTypeDialog.prototype = { +@@ -1066,30 +1066,60 @@ nsUnknownContentTypeDialog.prototype = { if (params.handlerApp && params.handlerApp.executable && @@ -731,6 +731,12 @@ - let appChooserCallback = function appChooserCallback_done(aResult) { - if (aResult) { - contentTypeDialogObj.chosenApp = aResult.QueryInterface(Ci.nsILocalHandlerApp); +- } +- contentTypeDialogObj.finishChooseApp(); +- }; +- appChooser.open(this.mLauncher.MIMEInfo.MIMEType, appChooserCallback); +- // The finishChooseApp is called from appChooserCallback +- return; + // handle the KDE case which is implemented in the filepicker + // therefore falling back to Gtk2 like behaviour if KDE is running + // FIXME this should be better handled in the nsIApplicationChooser @@ -739,28 +745,26 @@ + .getService(Components.interfaces.nsIEnvironment); + if (env.get('KDE_FULL_SESSION') == "true") + { -+ var nsIFilePicker = Components.interfaces.nsIFilePicker; -+ var fp = Components.classes["@mozilla.org/filepicker;1"] -+ .createInstance(nsIFilePicker); ++ var nsIFilePicker = Ci.nsIFilePicker; ++ var fp = Cc["@mozilla.org/filepicker;1"] ++ .createInstance(nsIFilePicker); + fp.init(this.mDialog, + this.dialogElement("strings").getString("chooseAppFilePickerTitle"), + nsIFilePicker.modeOpen); + + fp.appendFilters(nsIFilePicker.filterApps); + -+ if (fp.show() == nsIFilePicker.returnOK && fp.file) { -+ // Remember the file they chose to run. -+ var localHandlerApp = -+ Components.classes["@mozilla.org/uriloader/local-handler-app;1"]. -+ createInstance(Components.interfaces.nsILocalHandlerApp); -+ localHandlerApp.executable = fp.file; -+ this.chosenApp = localHandlerApp; - } -- contentTypeDialogObj.finishChooseApp(); -- }; -- appChooser.open(this.mLauncher.MIMEInfo.MIMEType, appChooserCallback); -- // The finishChooseApp is called from appChooserCallback -- return; ++ fp.open(aResult => { ++ if (aResult == nsIFilePicker.returnOK && fp.file) { ++ // Remember the file they chose to run. ++ var localHandlerApp = ++ Cc["@mozilla.org/uriloader/local-handler-app;1"]. ++ createInstance(Ci.nsILocalHandlerApp); ++ localHandlerApp.executable = fp.file; ++ this.chosenApp = localHandlerApp; ++ } ++ this.finishChooseApp(); ++ }); + } else { + var nsIApplicationChooser = Ci.nsIApplicationChooser; + var appChooser = Cc["@mozilla.org/applicationchooser;1"] @@ -1304,6 +1308,46 @@ + }; + +#endif // nsKDEUtils +diff --git a/uriloader/exthandler/HandlerServiceParent.cpp b/uriloader/exthandler/HandlerServiceParent.cpp +--- a/uriloader/exthandler/HandlerServiceParent.cpp ++++ b/uriloader/exthandler/HandlerServiceParent.cpp +@@ -1,16 +1,16 @@ + #include "mozilla/Logging.h" + #include "HandlerServiceParent.h" + #include "nsIHandlerService.h" + #include "nsIMIMEInfo.h" + #include "ContentHandlerService.h" + #include "nsStringEnumerator.h" + #ifdef MOZ_WIDGET_GTK +-#include "unix/nsGNOMERegistry.h" ++#include "unix/nsCommonRegistry.h" + #endif + + using mozilla::dom::HandlerInfo; + using mozilla::dom::HandlerApp; + using mozilla::dom::ContentHandlerService; + using mozilla::dom::RemoteHandlerApp; + + namespace { +@@ -264,17 +264,17 @@ HandlerServiceParent::RecvExists(const H + } + + mozilla::ipc::IPCResult + HandlerServiceParent::RecvExistsForProtocol(const nsCString& aProtocolScheme, + bool* aHandlerExists) + { + #ifdef MOZ_WIDGET_GTK + // Check the GNOME registry for a protocol handler +- *aHandlerExists = nsGNOMERegistry::HandlerExists(aProtocolScheme.get()); ++ *aHandlerExists = nsCommonRegistry::HandlerExists(aProtocolScheme.get()); + #else + *aHandlerExists = false; + #endif + return IPC_OK(); + } + + mozilla::ipc::IPCResult + HandlerServiceParent::RecvGetTypeFromExtension(const nsCString& aFileExtension, diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build --- a/uriloader/exthandler/moz.build +++ b/uriloader/exthandler/moz.build