Accepting request 22482 from mozilla:Factory

Copy from mozilla:Factory/MozillaThunderbird based on submit request 22482 from user wrosenauer

OBS-URL: https://build.opensuse.org/request/show/22482
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/MozillaThunderbird?expand=0&rev=42
This commit is contained in:
OBS User autobuild 2009-10-23 13:36:42 +00:00 committed by Git OBS Bridge
parent 6b4d9dfbaf
commit eafcb16abe
4 changed files with 68 additions and 120 deletions

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Wed Oct 7 21:41:15 CEST 2009 - wr@rosenauer.org
- fixed startup-notification (bnc#518603)
(mozilla-startup-notification.patch)
-------------------------------------------------------------------
Tue Sep 29 14:03:51 CEST 2009 - wr@rosenauer.org

View File

@ -30,7 +30,7 @@ BuildRequires: nss-shared-helper-devel
License: GPL v2 or later ; LGPL v2.1 or later ; MPL 1.1 or later
%define mainversion 3.0b4
Version: %{mainversion}
Release: 2
Release: 3
Summary: The Stand-Alone Mozilla Mail Component
Url: http://www.mozilla.org/products/thunderbird/
Group: Productivity/Networking/Email/Clients
@ -47,6 +47,7 @@ Source9: enigmail-20090813.tar.bz2
Source10: create-tar.sh
Patch1: thunderbird-cs-smtpauth.patch
Patch2: thunderbird-appname.patch
Patch3: mozilla-startup-notification.patch
Patch4: mozilla-gtkfilepicker-buttonorder.patch
Patch5: tb-develdirs.patch
Patch7: mozilla-path_len.patch
@ -138,7 +139,7 @@ This package contains the Lightning calendar extension for Mozilla Thunderbird.
%package -n enigmail
Version: 0.96.99
Release: 3
Release: 4
License: GPL v2 or later ; MPL 1.1
Summary: OpenPGP addon for Thunderbird and SeaMonkey
Group: Productivity/Networking/Email/Clients
@ -164,6 +165,7 @@ popd
%endif
# xulrunner patches
pushd mozilla
%patch3 -p1
%patch4 -p1
%patch7 -p1
%patch9 -p1

View File

@ -1,118 +0,0 @@
From: Wolfgang Rosenauer <wr@rosenauer.org>
Subject: no helper app for application/octet-stream but recognized extensions
References:
https://bugzilla.novell.com/show_bug.cgi?id=406979
https://bugzilla.mozilla.org/show_bug.cgi?id=327323
diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
--- a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
+++ b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
@@ -41,16 +41,17 @@
#include <glib.h>
#include <hildon-uri.h>
#endif
#include "nsMIMEInfoUnix.h"
#include "nsGNOMERegistry.h"
#include "nsIGnomeVFSService.h"
+#include "nsAutoPtr.h"
#ifdef MOZ_ENABLE_DBUS
#include "nsDBusHandlerApp.h"
#endif
nsresult
nsMIMEInfoUnix::LoadUriInternal(nsIURI * aURI)
{
@@ -69,23 +70,26 @@ nsMIMEInfoUnix::LoadUriInternal(nsIURI *
#endif
return rv;
}
NS_IMETHODIMP
nsMIMEInfoUnix::GetHasDefaultHandler(PRBool *_retval)
{
*_retval = PR_FALSE;
- nsCOMPtr<nsIGnomeVFSService> vfs = do_GetService(NS_GNOMEVFSSERVICE_CONTRACTID);
- if (vfs) {
- nsCOMPtr<nsIGnomeVFSMimeApp> app;
- if (NS_SUCCEEDED(vfs->GetAppForMimeType(mType, getter_AddRefs(app))) && app)
- *_retval = PR_TRUE;
+ nsRefPtr<nsMIMEInfoBase> mimeInfo = nsGNOMERegistry::GetFromType(mType);
+ if (!mimeInfo) {
+ nsCAutoString ext;
+ GetPrimaryExtension(ext);
+ mimeInfo = nsGNOMERegistry::GetFromExtension(ext);
}
+ if (mimeInfo)
+ *_retval = PR_TRUE;
+
if (*_retval)
return NS_OK;
#ifdef MOZ_PLATFORM_HILDON
HildonURIAction *action = hildon_uri_get_default_action(mType.get(), nsnull);
if (action) {
*_retval = PR_TRUE;
hildon_uri_action_unref(action);
@@ -104,16 +108,26 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns
aFile->GetNativePath(nativePath);
nsCOMPtr<nsIGnomeVFSService> vfs = do_GetService(NS_GNOMEVFSSERVICE_CONTRACTID);
if (vfs) {
nsCOMPtr<nsIGnomeVFSMimeApp> app;
if (NS_SUCCEEDED(vfs->GetAppForMimeType(mType, getter_AddRefs(app))) && app)
return app->Launch(nativePath);
+
+ // If we haven't got an app we try to get a valid one by searching for the
+ // extension mapped type
+ nsRefPtr<nsMIMEInfoBase> mimeInfo = nsGNOMERegistry::GetFromExtension(nativePath);
+ if (mimeInfo) {
+ nsCAutoString type;
+ mimeInfo->GetType(type);
+ if (NS_SUCCEEDED(vfs->GetAppForMimeType(type, getter_AddRefs(app))) && app)
+ return app->Launch(nativePath);
+ }
}
if (!mDefaultApplication)
return NS_ERROR_FILE_NOT_FOUND;
return LaunchWithIProcess(mDefaultApplication, nativePath);
}
diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exthandler/unix/nsOSHelperAppService.cpp
--- a/uriloader/exthandler/unix/nsOSHelperAppService.cpp
+++ b/uriloader/exthandler/unix/nsOSHelperAppService.cpp
@@ -1641,18 +1641,26 @@ nsOSHelperAppService::GetMIMEInfoFromOS(
NS_ADDREF(retval);
if (!aFileExt.IsEmpty())
retval->AppendExtension(aFileExt);
}
return retval;
}
- // Copy the attributes of retval onto miByExt, to return it
+ // Copy the attributes of retval onto miByExt, to return it but keep
+ // just collected mDefaultAppDescription
+ nsAutoString byExtDefault;
+ miByExt->GetDefaultDescription(byExtDefault);
+ retval->SetDefaultDescription(byExtDefault);
retval->CopyBasicDataTo(miByExt);
+ // But set the extensions primary since CopyBasicDataTo overwrites the
+ // list
+ if (!aFileExt.IsEmpty())
+ miByExt->SetPrimaryExtension(aFileExt);
miByExt.swap(retval);
}
return retval;
}
NS_IMETHODIMP
nsOSHelperAppService::GetProtocolHandlerInfoFromOS(const nsACString &aScheme,

View File

@ -0,0 +1,58 @@
From: Lubos Lunak <llunak@suse.cz>
Subject: Firefox 3.5 broken startup notification
References:
http://bugzilla.novell.com/show_bug.cgi?id=518603
https://bugzilla.mozilla.org/show_bug.cgi?id=416053
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
--- a/toolkit/xre/nsAppRunner.cpp
+++ b/toolkit/xre/nsAppRunner.cpp
@@ -3168,23 +3168,16 @@ XRE_main(int argc, char* argv[], const n
}
dirProvider.DoStartup();
PRBool shuttingDown = PR_FALSE;
appStartup->GetShuttingDown(&shuttingDown);
nsCOMPtr<nsICommandLineRunner> cmdLine;
-#if defined(HAVE_DESKTOP_STARTUP_ID) && defined(MOZ_WIDGET_GTK2)
- nsRefPtr<nsGTKToolkit> toolkit = GetGTKToolkit();
- if (toolkit && !desktopStartupID.IsEmpty()) {
- toolkit->SetDesktopStartupID(desktopStartupID);
- }
-#endif
-
nsCOMPtr<nsIFile> workingDir;
rv = NS_GetSpecialDirectory(NS_OS_CURRENT_WORKING_DIR, getter_AddRefs(workingDir));
NS_ENSURE_SUCCESS(rv, 1);
if (!shuttingDown) {
cmdLine = do_CreateInstance("@mozilla.org/toolkit/command-line;1");
NS_ENSURE_TRUE(cmdLine, 1);
@@ -3200,16 +3193,23 @@ XRE_main(int argc, char* argv[], const n
chromeObserver->Observe(cmdLine, "command-line-startup", nsnull);
}
NS_TIMELINE_ENTER("appStartup->CreateHiddenWindow");
rv = appStartup->CreateHiddenWindow();
NS_TIMELINE_LEAVE("appStartup->CreateHiddenWindow");
NS_ENSURE_SUCCESS(rv, 1);
+#if defined(HAVE_DESKTOP_STARTUP_ID) && defined(MOZ_WIDGET_GTK2)
+ nsRefPtr<nsGTKToolkit> toolkit = GetGTKToolkit();
+ if (toolkit && !desktopStartupID.IsEmpty()) {
+ toolkit->SetDesktopStartupID(desktopStartupID);
+ }
+#endif
+
// Extension Compatibility Checking and Startup
if (gAppData->flags & NS_XRE_ENABLE_EXTENSION_MANAGER) {
nsCOMPtr<nsIExtensionManager> em(do_GetService("@mozilla.org/extensions/manager;1"));
NS_ENSURE_TRUE(em, 1);
ar = CheckArg("install-global-extension", PR_TRUE);
if (ar == ARG_BAD) {
PR_fprintf(PR_STDERR, "Error: argument -install-global-extension is invalid when argument -osint is specified\n");