Hello community,

here is the log from the commit of package MozillaThunderbird for 
openSUSE:Factory checked in at 2012-04-23 16:11:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/MozillaThunderbird (Old)
 and      /work/SRC/openSUSE:Factory/.MozillaThunderbird.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "MozillaThunderbird", Maintainer is "[email protected]"

Changes:
--------
--- /work/SRC/openSUSE:Factory/MozillaThunderbird/MozillaThunderbird.changes    
2012-04-03 09:19:29.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.MozillaThunderbird.new/MozillaThunderbird.changes   
    2012-04-23 16:11:56.000000000 +0200
@@ -1,0 +2,12 @@
+Sat Apr 21 07:39:28 UTC 2012 - [email protected]
+
+- update to Thunderbird 12.0 (bnc#758408)
+- update Enigmail to 1.4.1
+- added mozilla-revert_621446.patch
+- added mozilla-libnotify.patch (bmo#737646)
+- added mailnew-showalert.patch (bmo#739146)
+- added mozilla-gcc47.patch and mailnews-literals.patch to fix
+  compilation issues with recent gcc 4.7
+- disabled crashreporter temporarily for Factory (gcc 4.7 issue)
+
+-------------------------------------------------------------------

Old:
----
  enigmail-1.4.tar.gz
  l10n-11.0.1.tar.bz2
  thunderbird-11.0.1-source.tar.bz2

New:
----
  enigmail-1.4.1.tar.gz
  l10n-12.0.tar.bz2
  mailnews-literals.patch
  mailnews-showalert.patch
  mozilla-gcc47.patch
  mozilla-libnotify.patch
  mozilla-revert_621446.patch
  thunderbird-12.0-source.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ MozillaThunderbird.spec ++++++
--- /var/tmp/diff_new_pack.RIrq5H/_old  2012-04-23 16:12:09.000000000 +0200
+++ /var/tmp/diff_new_pack.RIrq5H/_new  2012-04-23 16:12:09.000000000 +0200
@@ -40,10 +40,11 @@
 BuildRequires:  xorg-x11-libXt-devel
 BuildRequires:  yasm
 BuildRequires:  zip
-%define mainversion 11.0.1
+%define mainversion 12.0
+%define update_channel release
 Version:        %{mainversion}
 Release:        0
-%define releasedate 2012032800
+%define releasedate 2012042100
 Provides:       thunderbird = %{version}
 %if %{with_kde}
 # this is needed to match this package with the kde4 helper package without 
the main package
@@ -64,7 +65,7 @@
 Source6:        suse-default-prefs.js
 Source7:        find-external-requires.sh
 Source8:        thunderbird-rpmlintrc
-Source9:        enigmail-1.4.tar.gz
+Source9:        enigmail-1.4.1.tar.gz
 Source10:       create-tar.sh
 Source11:       compare-locales.tar.bz2
 Source12:       kde.js
@@ -76,12 +77,18 @@
 Patch5:         mozilla-disable-neon-option.patch
 Patch6:         mozilla-nongnome-proxies.patch
 Patch7:         mozilla-kde.patch
+Patch8:         mozilla-libnotify.patch
+Patch9:         mozilla-revert_621446.patch
+Patch10:        mozilla-gcc47.patch
 # Thunderbird/mail
-Patch10:        tb-ssldap.patch
-Patch11:        tb-develdirs.patch
-Patch12:        thunderbird-shared-nss-db.patch
+Patch20:        tb-ssldap.patch
+Patch21:        tb-develdirs.patch
+Patch22:        thunderbird-shared-nss-db.patch
+Patch23:        mailnews-showalert.patch
+Patch24:        mailnews-literals.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 PreReq:         coreutils fileutils textutils /bin/sh
+Recommends:     libcanberra0
 ### build options
 %define build_enigmail 1
 %ifnarch ppc ppc64
@@ -89,6 +96,10 @@
 %else
 %define crashreporter  0
 %endif
+# temporary (gcc 4.7)
+%if %suse_version > 1210
+%define crashreporter  0
+%endif
 %define has_system_cairo 0
 %define localize 1
 ### build options end
@@ -168,7 +179,7 @@
 
 %if %build_enigmail
 %package -n enigmail
-Version:        1.4.0+%{mainversion}
+Version:        1.4.1+%{mainversion}
 Release:        0
 Summary:        OpenPGP addon for Thunderbird and SeaMonkey
 License:        MPL-1.1 or GPL-2.0+
@@ -203,11 +214,16 @@
 %if %{with_kde}
 %patch7 -p1
 %endif
+%patch8 -p1
+%patch9 -p1
+%patch10 -p1
 popd
 # comm-central patches
-%patch10 -p1
-%patch11 -p1
-%patch12 -p1
+%patch20 -p1
+%patch21 -p1
+%patch22 -p1
+%patch23 -p1
+%patch24 -p1
 
 %build
 # no need to add build time to binaries
@@ -260,6 +276,7 @@
 ac_add_options --enable-startup-notification
 ac_add_options --enable-official-branding
 ac_add_options --disable-necko-wifi
+ac_add_options --enable-update-channel=%{update_channel}
 EOF
 %if %suse_version > 1130
 cat << EOF >> $MOZCONFIG
@@ -511,7 +528,7 @@
 %{progdir}/application.ini
 %{progdir}/blocklist.xml
 %{progdir}/chrome.manifest
-#%{progdir}/distribution/
+%{progdir}/distribution/
 %{progdir}/*.so
 %{progdir}/mozilla-xremote-client
 %{progdir}/omni.ja

++++++ compare-locales.tar.bz2 ++++++

++++++ create-tar.sh ++++++
--- /var/tmp/diff_new_pack.RIrq5H/_old  2012-04-23 16:12:09.000000000 +0200
+++ /var/tmp/diff_new_pack.RIrq5H/_new  2012-04-23 16:12:09.000000000 +0200
@@ -2,8 +2,8 @@
 
 CHANNEL="release"
 BRANCH="releases/comm-$CHANNEL"
-RELEASE_TAG="THUNDERBIRD_11_0_1_RELEASE"
-VERSION="11.0.1"
+RELEASE_TAG="THUNDERBIRD_12_0_RELEASE"
+VERSION="12.0"
 
 echo "cloning $BRANCH..."
 hg clone http://hg.mozilla.org/$BRANCH thunderbird

++++++ enigmail-1.4.tar.gz -> enigmail-1.4.1.tar.gz ++++++
++++ 18902 lines of diff (skipped)

++++++ l10n-11.0.1.tar.bz2 -> l10n-12.0.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/MozillaThunderbird/l10n-11.0.1.tar.bz2 
/work/SRC/openSUSE:Factory/.MozillaThunderbird.new/l10n-12.0.tar.bz2 differ: 
char 11, line 1

++++++ mailnews-literals.patch ++++++
# HG changeset patch
# User Wolfgang Rosenauer <[email protected]>
# Parent 879e8d044e364396b63af59b3cdc4252fb2ae29a
Bug 733867 - Build failure with gcc-4.7.0rc1: "nsMsgFolderCompactor.cpp ... 
error: unable to find string literal operator ‘operator"" ..." (TM: COMM13)

diff --git a/mailnews/base/search/src/nsMsgSearchAdapter.cpp 
b/mailnews/base/search/src/nsMsgSearchAdapter.cpp
--- a/mailnews/base/search/src/nsMsgSearchAdapter.cpp
+++ b/mailnews/base/search/src/nsMsgSearchAdapter.cpp
@@ -683,17 +683,17 @@ nsresult nsMsgSearchAdapter::EncodeImapV
   }
 
   if (!NS_IsAscii(value))
   {
     nsCAutoString lengthStr;
     PL_strcat(encoding, "{");
     lengthStr.AppendInt((PRInt32) strlen(value));
     PL_strcat(encoding, lengthStr.get());
-    PL_strcat(encoding, "}"CRLF);
+    PL_strcat(encoding, "}" CRLF);
     PL_strcat(encoding, value);
     return NS_OK;
   }
   if (useQuotes)
     PL_strcat(encoding, "\"");
   PL_strcat (encoding, value);
   if (useQuotes)
     PL_strcat(encoding, "\"");
diff --git a/mailnews/base/src/nsMsgFolderCompactor.cpp 
b/mailnews/base/src/nsMsgFolderCompactor.cpp
--- a/mailnews/base/src/nsMsgFolderCompactor.cpp
+++ b/mailnews/base/src/nsMsgFolderCompactor.cpp
@@ -753,17 +753,17 @@ nsFolderCompactState::OnDataAvailable(ns
           m_folder->GetMsgDatabase(getter_AddRefs(srcDB));
           if (srcDB)
           {
             srcDB->SetSummaryValid(false);
             srcDB->ForceClosed();
           }
         }
       }
-#define EXTRA_KEYWORD_HDR "                                                    
                             "MSG_LINEBREAK
+#define EXTRA_KEYWORD_HDR "                                                    
                             " MSG_LINEBREAK
 
        // if status offset isn't in the first block, this code won't work. 
There's no good reason
       // for the status offset not to be at the beginning of the message 
anyway.
       if (addKeywordHdr)
       {
         // if blockOffset is set, we added x-mozilla-status headers so
         // file pointer is already past them.
         if (!blockOffset)
diff --git a/mailnews/compose/src/nsMsgAppleEncode.cpp 
b/mailnews/compose/src/nsMsgAppleEncode.cpp
--- a/mailnews/compose/src/nsMsgAppleEncode.cpp
+++ b/mailnews/compose/src/nsMsgAppleEncode.cpp
@@ -133,17 +133,17 @@ int fill_apple_mime_header(
                                                strlen(p_ap_encode_obj->fname));
        if (status != noErr)
                return status;
                
        PR_snprintf(tmpstr, sizeof(tmpstr),
                        "\"\r\nContent-Disposition: inline; 
filename=\"%s\"\r\n\r\n\r\n--=\r\n",
                        p_ap_encode_obj->fname);
 #endif /* 0 */
-       PR_snprintf(tmpstr, sizeof(tmpstr), "--%s"CRLF, 
p_ap_encode_obj->boundary);
+       PR_snprintf(tmpstr, sizeof(tmpstr), "--%s" CRLF, 
p_ap_encode_obj->boundary);
        status = write_stream(p_ap_encode_obj, 
                                                tmpstr, 
                                                strlen(tmpstr));
        return status;
 } 
 
 int ap_encode_file_infor(
        appledouble_encode_object *p_ap_encode_obj)
@@ -374,17 +374,17 @@ int ap_encode_header(
                status = finish64(p_ap_encode_obj);
                if (status != noErr)
                        return status;
                
                /*
                ** write out the boundary 
                */
                PR_snprintf(rd_buff, sizeof(rd_buff),
-                                               CRLF"--%s"CRLF, 
+                                               CRLF"--%s" CRLF,
                                                p_ap_encode_obj->boundary);
                                        
                status = write_stream(p_ap_encode_obj,
                                                rd_buff,
                                                strlen(rd_buff));
                if (status == noErr)
                        status = errDone;
        }
@@ -515,17 +515,17 @@ int ap_encode_data(
                }
 
                /*
                **      the data portion header information.
                */
         nsCAutoString leafName;
         resFile->GetNativeLeafName(leafName);
                PR_snprintf(rd_buff, sizeof(rd_buff),
-                       "Content-Type: %s; name=\"%s\"" CRLF 
"Content-Transfer-Encoding: base64" CRLF "Content-Disposition: inline; 
filename=\"%s\""CRLF CRLF,
+                       "Content-Type: %s; name=\"%s\"" CRLF 
"Content-Transfer-Encoding: base64" CRLF "Content-Disposition: inline; 
filename=\"%s\"" CRLF CRLF,
                        magic_type,
                        leafName.get(),
                        leafName.get());
                        
                status = write_stream(p_ap_encode_obj, 
                                        rd_buff, 
                                        strlen(rd_buff)); 
                if (status != noErr)
@@ -558,17 +558,17 @@ int ap_encode_data(
 
                status = finish64(p_ap_encode_obj);
                if (status != noErr)
                        return status;
                
                /* write out the boundary       */
                
                PR_snprintf(rd_buff, sizeof(rd_buff),
-                                               CRLF"--%s--"CRLF CRLF, 
+                                               CRLF"--%s--" CRLF CRLF,
                                                p_ap_encode_obj->boundary);
        
                status = write_stream(p_ap_encode_obj,
                                                rd_buff,
                                                strlen(rd_buff));
        
                if (status == noErr)                            
                        status = errDone;
diff --git a/mailnews/compose/src/nsSmtpProtocol.cpp 
b/mailnews/compose/src/nsSmtpProtocol.cpp
--- a/mailnews/compose/src/nsSmtpProtocol.cpp
+++ b/mailnews/compose/src/nsSmtpProtocol.cpp
@@ -1717,17 +1717,17 @@ PRInt32 nsSmtpProtocol::SendMessageRespo
   /* else */
   return SendQuit();
 }
 
 PRInt32 nsSmtpProtocol::SendQuit()
 {
   m_sendDone = true;
   nsCOMPtr<nsIURI> url = do_QueryInterface(m_runningURL);
-  SendData(url, "QUIT"CRLF); // send a quit command to close the connection 
with the server.
+  SendData(url, "QUIT" CRLF); // send a quit command to close the connection 
with the server.
   m_nextState = SMTP_RESPONSE;
   m_nextStateAfterResponse = SMTP_DONE;
   return(0);
 }
 
 nsresult nsSmtpProtocol::LoadUrl(nsIURI * aURL, nsISupports * aConsumer )
 {
   if (!aURL)
@@ -1964,17 +1964,17 @@ nsresult nsSmtpProtocol::LoadUrl(nsIURI 
 
     /* check for errors during load and call error
     * state if found
     */
     if(status < 0 && m_nextState != SMTP_FREE)
     {
       nsCOMPtr<nsIURI> url = do_QueryInterface(m_runningURL);
       // send a quit command to close the connection with the server.
-      if (SendData(url, "QUIT"CRLF) == NS_OK)
+      if (SendData(url, "QUIT" CRLF) == NS_OK)
       {
         m_nextState = SMTP_RESPONSE;
         m_nextStateAfterResponse = SMTP_ERROR_DONE;
       }
       else
       {
       m_nextState = SMTP_ERROR_DONE;
       /* don't exit! loop around again and do the free case */
diff --git a/mailnews/imap/src/nsImapMailFolder.cpp 
b/mailnews/imap/src/nsImapMailFolder.cpp
--- a/mailnews/imap/src/nsImapMailFolder.cpp
+++ b/mailnews/imap/src/nsImapMailFolder.cpp
@@ -8304,17 +8304,17 @@ nsImapMailFolder::CopyFileToOfflineStore
           srcFile->GetFileSize(&fileSize);
           PRUint32 bytesWritten;
           rv = NS_OK;
           msgParser->SetState(nsIMsgParseMailMsgState::ParseHeadersState);
           msgParser->SetNewMsgHdr(fakeHdr);
           bool needMoreData = false;
           char * newLine = nsnull;
           PRUint32 numBytesInLine = 0;
-          const char *envelope = "From "CRLF;
+          const char *envelope = "From " CRLF;
           offlineStore->Write(envelope, strlen(envelope), &bytesWritten);
           fileSize += bytesWritten;
           do
           {
             newLine = inputStreamBuffer->ReadNextLine(inputStream, 
numBytesInLine, needMoreData);
             if (newLine)
             {
               msgParser->ParseAFolderLine(newLine, numBytesInLine);
diff --git a/mailnews/imap/src/nsImapProtocol.cpp 
b/mailnews/imap/src/nsImapProtocol.cpp
--- a/mailnews/imap/src/nsImapProtocol.cpp
+++ b/mailnews/imap/src/nsImapProtocol.cpp
@@ -1404,17 +1404,17 @@ nsImapProtocol::ImapThreadMainLoop()
 
   PR_LOG(IMAP, PR_LOG_DEBUG, ("ImapThreadMainLoop leaving [this=%x]\n", this));
 }
 
 void nsImapProtocol::HandleIdleResponses()
 {
   // PRInt32 oldRecent = GetServerStateParser().NumberOfRecentMessages();
   nsCAutoString commandBuffer(GetServerCommandTag());
-  commandBuffer.Append(" IDLE"CRLF);
+  commandBuffer.Append(" IDLE" CRLF);
 
   do
   {
     ParseIMAPandCheckForNewMail(commandBuffer.get());
   }
   while (m_inputStreamBuffer->NextLineAvailable() && 
GetServerStateParser().Connected());
 
   //  if (oldRecent != GetServerStateParser().NumberOfRecentMessages())
@@ -3282,17 +3282,17 @@ void nsImapProtocol::FetchMsgAttribute(c
 {
     IncrementCommandTagNumber();
 
     nsCAutoString commandString (GetServerCommandTag());
     commandString.Append(" UID fetch ");
     commandString.Append(messageIds);
     commandString.Append(" (");
     commandString.Append(attribute);
-    commandString.Append(")"CRLF);
+    commandString.Append(")" CRLF);
     nsresult rv = SendData(commandString.get());
 
     if (NS_SUCCEEDED(rv))
        ParseIMAPandCheckForNewMail(commandString.get());
     GetServerStateParser().SetFetchingFlags(false);
     GetServerStateParser().SetFetchingEverythingRFC822(false); // always clear 
this flag after every fetch....
 }
 
@@ -5278,17 +5278,17 @@ nsImapProtocol::Expunge()
       delete search;
       if (key == 0)
         return;  //no deleted messages to expunge (bug 235004)
     }
   }
 
   IncrementCommandTagNumber();
   nsCAutoString command(GetServerCommandTag());
-  command.Append(" expunge"CRLF);
+  command.Append(" expunge" CRLF);
 
   nsresult rv = SendData(command.get());
   if (NS_SUCCEEDED(rv))
     ParseIMAPandCheckForNewMail();
 }
 
 void
 nsImapProtocol::HandleMemoryFailure()
@@ -5354,17 +5354,17 @@ void nsImapProtocol::ID()
   if (!gAppName[0])
     return;
   IncrementCommandTagNumber();
   nsCString command(GetServerCommandTag());
   command.Append(" ID (\"name\" \"");
   command.Append(gAppName);
   command.Append("\" \"version\" \"");
   command.Append(gAppVersion);
-  command.Append("\")"CRLF);
+  command.Append("\")" CRLF);
 
   nsresult rv = SendData(command.get());
   if (NS_SUCCEEDED(rv))
     ParseIMAPandCheckForNewMail();
 }
 
 void nsImapProtocol::EnableCondStore()
 {
@@ -5811,17 +5811,17 @@ nsresult nsImapProtocol::AuthLogin(const
     command.Append(escapedUserName);
     command.Append("\" \"");
 
     // if the password contains a \, login will fail
     // turn foo\bar into foo\\bar
     nsCAutoString correctedPassword;
     EscapeUserNamePasswordString(password.get(), &correctedPassword);
     command.Append(correctedPassword);
-    command.Append("\""CRLF);
+    command.Append("\"" CRLF);
     rv = SendData(command.get(), true /* suppress logging */);
     NS_ENSURE_SUCCESS(rv, rv);
     ParseIMAPandCheckForNewMail();
   }
   else if (flag & kHasAuthNoneCapability)
   {
     // TODO What to do? "login <username>" like POP?
     return NS_ERROR_NOT_IMPLEMENTED;
@@ -7442,17 +7442,17 @@ void nsImapProtocol::CreateMailbox(const
 
   IncrementCommandTagNumber();
 
   nsCString escapedName;
   CreateEscapedMailboxName(mailboxName, escapedName);
   nsCString command(GetServerCommandTag());
   command += " create \"";
   command += escapedName;
-  command += "\""CRLF;
+  command += "\"" CRLF;
 
   nsresult rv = SendData(command.get());
   if(NS_SUCCEEDED(rv))
     ParseIMAPandCheckForNewMail();
   // If that failed, let's list the parent folder to see if
   // it allows inferiors, so we won't try to create sub-folders
   // of the parent folder again in the current session.
   if (GetServerStateParser().CommandFailed())
@@ -7545,17 +7545,17 @@ void nsImapProtocol::Lsub(const char *ma
   nsCString escapedPattern;
   CreateEscapedMailboxName(boxnameWithOnlineDirectory ?
                         boxnameWithOnlineDirectory :
                         mailboxPattern, escapedPattern);
 
   nsCString command (GetServerCommandTag());
   command += " lsub \"\" \"";
   command += escapedPattern;
-  command += "\""CRLF;
+  command += "\"" CRLF;
 
   PR_Free(boxnameWithOnlineDirectory);
 
   nsresult rv = SendData(command.get());
   if (NS_SUCCEEDED(rv))
     ParseIMAPandCheckForNewMail();
 }
 
@@ -7574,17 +7574,17 @@ void nsImapProtocol::List(const char *ma
   CreateEscapedMailboxName(boxnameWithOnlineDirectory ?
                         boxnameWithOnlineDirectory :
                         mailboxPattern, escapedPattern);
 
   nsCString command (GetServerCommandTag());
   command += useXLIST ?
     " xlist \"\" \"" : " list \"\" \"";
   command += escapedPattern;
-  command += "\""CRLF;
+  command += "\"" CRLF;
 
   PR_Free(boxnameWithOnlineDirectory);
 
   nsresult rv = SendData(command.get());
   if (NS_SUCCEEDED(rv))
     ParseIMAPandCheckForNewMail(command.get(), true);
 }
 
@@ -7595,17 +7595,17 @@ void nsImapProtocol::Subscribe(const cha
   IncrementCommandTagNumber();
 
   nsCString escapedName;
   CreateEscapedMailboxName(mailboxName, escapedName);
 
   nsCString command (GetServerCommandTag());
   command += " subscribe \"";
   command += escapedName;
-  command += "\""CRLF;
+  command += "\"" CRLF;
 
   nsresult rv = SendData(command.get());
   if (NS_SUCCEEDED(rv))
     ParseIMAPandCheckForNewMail();
 }
 
 void nsImapProtocol::Unsubscribe(const char *mailboxName)
 {
@@ -7613,31 +7613,31 @@ void nsImapProtocol::Unsubscribe(const c
   IncrementCommandTagNumber();
 
   nsCString escapedName;
   CreateEscapedMailboxName(mailboxName, escapedName);
 
   nsCString command (GetServerCommandTag());
   command += " unsubscribe \"";
   command += escapedName;
-  command += "\""CRLF;
+  command += "\"" CRLF;
 
   nsresult rv = SendData(command.get());
   if (NS_SUCCEEDED(rv))
       ParseIMAPandCheckForNewMail();
 }
 
 void nsImapProtocol::Idle()
 {
   IncrementCommandTagNumber();
 
   if (m_urlInProgress)
     return;
   nsCAutoString command (GetServerCommandTag());
-  command += " IDLE"CRLF;
+  command += " IDLE" CRLF;
   nsresult rv = SendData(command.get());
   if (NS_SUCCEEDED(rv))
   {
       m_idle = true;
       // we'll just get back a continuation char at first.
       // + idling...
       ParseIMAPandCheckForNewMail();
       // this will cause us to get notified of data or the socket getting 
closed.
@@ -7654,17 +7654,17 @@ void nsImapProtocol::Idle()
 // responses, we need to not wait for the server response
 // on shutdown.
 void nsImapProtocol::EndIdle(bool waitForResponse /* = true */)
 {
   // clear the async wait - otherwise, we seem to have trouble doing a 
blocking read
   nsCOMPtr <nsIAsyncInputStream> asyncInputStream = 
do_QueryInterface(m_inputStream);
   if (asyncInputStream)
     asyncInputStream->AsyncWait(nsnull, 0, 0, nsnull);
-  nsresult rv = SendData("DONE"CRLF);
+  nsresult rv = SendData("DONE" CRLF);
   // set a short timeout if we don't want to wait for a response
   if (m_transport && !waitForResponse)
     m_transport->SetTimeout(nsISocketTransport::TIMEOUT_READ_WRITE, 5);
   if (NS_SUCCEEDED(rv))
   {
     m_idle = false;
     ParseIMAPandCheckForNewMail();
   }
@@ -7723,18 +7723,18 @@ void nsImapProtocol::Copy(const char * m
   nsTArray<nsMsgKey> msgKeys;
   if (idsAreUid)
     ParseUidString(messageList, msgKeys);
 
   PRInt32 msgCountLeft = msgKeys.Length();
   PRUint32 msgsHandled = 0;
   const char *formatString;
   formatString = (idsAreUid)
-      ? "%s uid store %s %s"CRLF
-      : "%s store %s %s"CRLF;
+      ? "%s uid store %s %s" CRLF
+      : "%s store %s %s" CRLF;
 
   do
   {
     nsCString idString;
 
     PRUint32 msgsToHandle = msgCountLeft;
     if (idsAreUid)
       AllocateImapUidString(msgKeys.Elements() + msgsHandled, msgsToHandle, 
m_flagState, idString);
diff --git a/mailnews/imap/src/nsImapServerResponseParser.cpp 
b/mailnews/imap/src/nsImapServerResponseParser.cpp
--- a/mailnews/imap/src/nsImapServerResponseParser.cpp
+++ b/mailnews/imap/src/nsImapServerResponseParser.cpp
@@ -180,17 +180,17 @@ void nsImapServerResponseParser::Initial
 //           continue-req    = "+" SP (resp-text / base64) CRLF
 void nsImapServerResponseParser::ParseIMAPServerResponse(const char 
*aCurrentCommand,
                                                          bool 
aIgnoreBadAndNOResponses,
                                                          char 
*aGreetingWithCapability)
 {
   
   NS_ASSERTION(aCurrentCommand && *aCurrentCommand != '\r' && 
     *aCurrentCommand != '\n' && *aCurrentCommand != ' ', "Invailid command 
string");
-  bool sendingIdleDone = !strcmp(aCurrentCommand, "DONE"CRLF);
+  bool sendingIdleDone = !strcmp(aCurrentCommand, "DONE" CRLF);
   if (sendingIdleDone)
     fWaitingForMoreClientInput = false;
 
   // Reinitialize the parser
   SetConnected(true);
   SetSyntaxError(false);
   
   // Reinitialize our state
diff --git a/mailnews/local/src/nsPop3Protocol.cpp 
b/mailnews/local/src/nsPop3Protocol.cpp
--- a/mailnews/local/src/nsPop3Protocol.cpp
+++ b/mailnews/local/src/nsPop3Protocol.cpp
@@ -2478,17 +2478,17 @@ PRInt32 nsPop3Protocol::SendList()
 
 
     m_pop3ConData->msg_info = (Pop3MsgInfo *)
       PR_CALLOC(sizeof(Pop3MsgInfo) * m_pop3ConData->number_of_messages);
     if (!m_pop3ConData->msg_info)
         return(MK_OUT_OF_MEMORY);
     m_pop3ConData->next_state_after_response = POP3_GET_LIST;
     m_listpos = 0;
-    return SendData(m_url, "LIST"CRLF);
+    return SendData(m_url, "LIST" CRLF);
 }
 
 
 
 PRInt32
 nsPop3Protocol::GetList(nsIInputStream* inputStream,
                         PRUint32 length)
 {
diff --git a/mailnews/mime/src/mimedrft.cpp b/mailnews/mime/src/mimedrft.cpp
--- a/mailnews/mime/src/mimedrft.cpp
+++ b/mailnews/mime/src/mimedrft.cpp
@@ -1468,17 +1468,17 @@ mime_parse_stream_complete (nsMIMESessio
                //+13 chars for <pre> & </pre> tags and CRLF
               PRUint32 newbodylen = bodyLen + 14;
               char* newbody = (char *)PR_MALLOC (newbodylen);
               if (newbody)
               {
                 *newbody = 0;
                 PL_strcatn(newbody, newbodylen, "<PRE>");
                 PL_strcatn(newbody, newbodylen, body);
-                PL_strcatn(newbody, newbodylen, "</PRE>"CRLF);
+                PL_strcatn(newbody, newbodylen, "</PRE>" CRLF);
                 PR_Free(body);
                 body = newbody;
               }
             }
             // Body is now HTML, set the format too (so headers are inserted in
             // correct format).
             composeFormat = nsIMsgCompFormat::HTML;
           }
diff --git a/mailnews/mime/src/mimemult.cpp b/mailnews/mime/src/mimemult.cpp
--- a/mailnews/mime/src/mimemult.cpp
+++ b/mailnews/mime/src/mimemult.cpp
@@ -275,44 +275,44 @@ MimeMultipart_parse_line (const char *li
             {
               MimeWriteAString(obj, NS_LITERAL_CSTRING("Content-Type: "));
               MimeWriteAString(obj, nsDependentCString(contentType));
               PR_Free(contentType);
             }
             MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK));
             MimeWriteAString(obj, NS_LITERAL_CSTRING("Content-Disposition: 
attachment; filename=\""));
             MimeWriteAString(obj, fileName);
-            MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK));
+            MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK));
             MimeWriteAString(obj, 
NS_LITERAL_CSTRING("X-Mozilla-External-Attachment-URL: "));
             MimeWriteAString(obj, obj->options->state->detachedFilePath);
             MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK));
             MimeWriteAString(obj, NS_LITERAL_CSTRING("X-Mozilla-Altered: 
AttachmentDetached; date=\""));
           }
           else
           {
             nsCAutoString header("Content-Type: text/x-moz-deleted; 
name=\"Deleted: ");
             header.Append(fileName);
             status = MimeWriteAString(obj, header);
-            if (status < 0) 
+            if (status < 0)
               return status;
-            status = MimeWriteAString(obj, 
NS_LITERAL_CSTRING("\""MSG_LINEBREAK"Content-Transfer-Encoding: 
8bit"MSG_LINEBREAK));
+            status = MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" 
MSG_LINEBREAK "Content-Transfer-Encoding: 8bit" MSG_LINEBREAK));
             MimeWriteAString(obj, NS_LITERAL_CSTRING("Content-Disposition: 
inline; filename=\"Deleted: "));
             MimeWriteAString(obj, fileName);
-            MimeWriteAString(obj, 
NS_LITERAL_CSTRING("\""MSG_LINEBREAK"X-Mozilla-Altered: AttachmentDeleted; 
date=\""));
+            MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK 
"X-Mozilla-Altered: AttachmentDeleted; date=\""));
           }
           nsCString result;
           char timeBuffer[128];
           PRExplodedTime now;
           PR_ExplodeTime(PR_Now(), PR_LocalTimeParameters, &now);
           PR_FormatTimeUSEnglish(timeBuffer, sizeof(timeBuffer),
                                  "%a %b %d %H:%M:%S %Y",
                                  &now);
           MimeWriteAString(obj, nsDependentCString(timeBuffer));
-          MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK));
-          MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK"You deleted 
an attachment from this message. The original MIME headers for the attachment 
were:"MSG_LINEBREAK));
+          MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK));
+          MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK "You deleted 
an attachment from this message. The original MIME headers for the attachment 
were:" MSG_LINEBREAK));
           MimeHeaders_write_raw_headers(mult->hdrs, obj->options, false);
         }
         PRInt32 old_nchildren = container->nchildren;
         status = ((MimeMultipartClass *) obj->clazz)->create_child(obj);
         if (status < 0) return status;
         NS_ASSERTION(mult->state != MimeMultipartHeaders,
                      "mult->state shouldn't be MimeMultipartHeaders");
 
diff --git a/mailnews/news/src/nsNntpIncomingServer.cpp 
b/mailnews/news/src/nsNntpIncomingServer.cpp
--- a/mailnews/news/src/nsNntpIncomingServer.cpp
+++ b/mailnews/news/src/nsNntpIncomingServer.cpp
@@ -860,17 +860,17 @@ nsNntpIncomingServer::WriteHostInfoFile(
   dateStr.AppendInt(mLastUpdatedTime);
   WriteLine(hostInfoStream, dateStr);
   dateStr ="firstnewdate=";
   dateStr.AppendInt(firstnewdate);
   WriteLine(hostInfoStream, dateStr);
   dateStr = "uniqueid=";
   dateStr.AppendInt(mUniqueId);
   WriteLine(hostInfoStream, dateStr);
-  header.Assign(MSG_LINEBREAK"begingroups");
+  header.Assign(MSG_LINEBREAK "begingroups");
   WriteLine(hostInfoStream, header);
 
   // XXX todo, sort groups first?
   PRUint32 length = mGroupsOnServer.Length();
   for (PRUint32 i = 0; i < length; ++i)
   {
     PRUint32 bytesWritten;
     hostInfoStream->Write(mGroupsOnServer[i].get(), 
mGroupsOnServer[i].Length(),
++++++ mailnews-showalert.patch ++++++
# HG changeset patch
# Parent 7aff84f58a8fd64d2bf34fe386e97f173f2562f3

diff --git a/mailnews/base/src/nsMessengerUnixIntegration.cpp 
b/mailnews/base/src/nsMessengerUnixIntegration.cpp
--- a/mailnews/base/src/nsMessengerUnixIntegration.cpp
+++ b/mailnews/base/src/nsMessengerUnixIntegration.cpp
@@ -378,47 +378,46 @@ nsresult nsMessengerUnixIntegration::Sho
 
   nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID, 
&rv));
   NS_ENSURE_SUCCESS(rv, rv);
   bool showAlert = true;
   prefBranch->GetBoolPref(SHOW_ALERT_PREF, &showAlert);
 
   if (showAlert)
   {
+    mAlertInProgress = true;
 #ifdef MOZ_THUNDERBIRD
     nsCOMPtr<nsIAlertsService> 
alertsService(do_GetService(NS_SYSTEMALERTSERVICE_CONTRACTID, &rv));
     if (NS_SUCCEEDED(rv)) {
-      mAlertInProgress = true;
       rv = 
alertsService->ShowAlertNotification(NS_LITERAL_STRING(NEW_MAIL_ALERT_ICON),
                                                 aAlertTitle,
                                                 aAlertText,
                                                 false,
                                                 
NS_ConvertASCIItoUTF16(aFolderURI),
                                                 this,
                                                 EmptyString());
       if (NS_SUCCEEDED(rv))
         return rv;
     }
     AlertFinished();
-    ShowNewAlertNotification(false);
+    rv = ShowNewAlertNotification(false);
 
 #else
     nsCOMPtr<nsIAlertsService> alertsService 
(do_GetService(NS_ALERTSERVICE_CONTRACTID, &rv));
     if (NS_SUCCEEDED(rv))
     {
       rv = 
alertsService->ShowAlertNotification(NS_LITERAL_STRING(NEW_MAIL_ALERT_ICON), 
aAlertTitle,
                                                 aAlertText, true,
                                                 
NS_ConvertASCIItoUTF16(aFolderURI), this,
                                                 EmptyString());
-      mAlertInProgress = true;
     }
 #endif
   }
 
-  if (!showAlert || NS_FAILED(rv)) // go straight to showing the system tray 
icon.
+  if (NS_FAILED(rv)) // go straight to showing the system tray icon.
     AlertFinished();
 
   return rv;
 }
 
 #ifdef MOZ_THUNDERBIRD
 // Opening Thunderbird's new mail alert notification window for not supporting 
libnotify
 // aUserInitiated --> true if we are opening the alert notification in 
response to a user action
@@ -463,28 +462,25 @@ nsresult nsMessengerUnixIntegration::Sho
     nsCOMPtr<nsISupportsPRBool> scriptableUserInitiated 
(do_CreateInstance(NS_SUPPORTS_PRBOOL_CONTRACTID, &rv));
     NS_ENSURE_SUCCESS(rv, rv);
     scriptableUserInitiated->SetData(aUserInitiated);
     argsArray->AppendElement(scriptableUserInitiated, false);
 
     nsCOMPtr<nsIWindowWatcher> 
wwatch(do_GetService(NS_WINDOWWATCHER_CONTRACTID));
     nsCOMPtr<nsIDOMWindow> newWindow;
 
+    mAlertInProgress = true;
     rv = wwatch->OpenWindow(0, ALERT_CHROME_URL, "_blank",
                             "chrome,dialog=yes,titlebar=no,popup=yes", 
argsArray,
                             getter_AddRefs(newWindow));
 
-    mAlertInProgress = true;
+    if (NS_FAILED(rv))
+      AlertFinished();
   }
 
-  // if the user has turned off the mail alert, or openWindow generated an 
error,
-  // then go straight to the system tray.
-  if (!showAlert || NS_FAILED(rv))
-    AlertFinished();
-
   return rv;
 }
 #endif
 
 nsresult nsMessengerUnixIntegration::AlertFinished()
 {
   mAlertInProgress = false;
   return NS_OK;
++++++ mozilla-gcc47.patch ++++++
# HG changeset patch
# Parent debab900e37fdd4f8981c06beef6f193a04bd2b7
Patch to make Mozilla build with gcc 4.7, including
- Bug 725655 - gcc 4.7 build failures (missing headers) (TM: Mozilla13)
- Bug 734490 - "no viable overloaded 'PRIxPTR'" when building with Clang or GCC 
4.7 (TM: Mozilla14)

diff --git a/ipc/chromium/src/base/file_util_linux.cc 
b/ipc/chromium/src/base/file_util_linux.cc
--- a/ipc/chromium/src/base/file_util_linux.cc
+++ b/ipc/chromium/src/base/file_util_linux.cc
@@ -1,15 +1,18 @@
 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
 #include "base/file_util.h"
 
 #include <fcntl.h>
+#if defined(ANDROID) || defined(OS_POSIX)
+#include <unistd.h>
+#endif
 
 #include <string>
 #include <vector>
 
 #include "base/eintr_wrapper.h"
 #include "base/file_path.h"
 #include "base/string_util.h"
 
diff --git a/ipc/chromium/src/base/message_pump_libevent.cc 
b/ipc/chromium/src/base/message_pump_libevent.cc
--- a/ipc/chromium/src/base/message_pump_libevent.cc
+++ b/ipc/chromium/src/base/message_pump_libevent.cc
@@ -1,16 +1,19 @@
 // Copyright (c) 2008 The Chromium Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
 #include "base/message_pump_libevent.h"
 
 #include <errno.h>
 #include <fcntl.h>
+#if defined(ANDROID) || defined(OS_POSIX)
+#include <unistd.h>
+#endif
 
 #include "eintr_wrapper.h"
 #include "base/logging.h"
 #include "base/scoped_nsautorelease_pool.h"
 #include "base/scoped_ptr.h"
 #include "base/time.h"
 #include "third_party/libevent/event.h"
 
diff --git a/ipc/chromium/src/base/time_posix.cc 
b/ipc/chromium/src/base/time_posix.cc
--- a/ipc/chromium/src/base/time_posix.cc
+++ b/ipc/chromium/src/base/time_posix.cc
@@ -8,16 +8,19 @@
 #include <mach/mach_time.h>
 #endif
 #include <sys/time.h>
 #ifdef ANDROID
 #include <time64.h>
 #else
 #include <time.h>
 #endif
+#if defined(ANDROID) || defined(OS_POSIX)
+#include <unistd.h>
+#endif
 
 #include <limits>
 
 #include "base/basictypes.h"
 #include "base/logging.h"
 
 namespace base {
 
diff --git a/layout/base/tests/TestPoisonArea.cpp 
b/layout/base/tests/TestPoisonArea.cpp
--- a/layout/base/tests/TestPoisonArea.cpp
+++ b/layout/base/tests/TestPoisonArea.cpp
@@ -392,53 +392,53 @@ ReservePoisonArea()
 {
   if (sizeof(uintptr_t) == 8) {
     // Use the hardware-inaccessible region.
     // We have to avoid 64-bit constants and shifts by 32 bits, since this
     // code is compiled in 32-bit mode, although it is never executed there.
     uintptr_t result = (((uintptr_t(0x7FFFFFFFu) << 31) << 1 |
                          uintptr_t(0xF0DEAFFFu)) &
                         ~uintptr_t(PAGESIZE-1));
-    printf("INFO | poison area assumed at 0x%.*"PRIxPTR"\n", SIZxPTR, result);
+    printf("INFO | poison area assumed at 0x%.*" PRIxPTR "\n", SIZxPTR, 
result);
     return result;
   } else {
     // First see if we can allocate the preferred poison address from the OS.
     uintptr_t candidate = (0xF0DEAFFF & ~(PAGESIZE-1));
     void *result = ReserveRegion(candidate, false);
     if (result == (void *)candidate) {
       // success - inaccessible page allocated
-      printf("INFO | poison area allocated at 0x%.*"PRIxPTR
+      printf("INFO | poison area allocated at 0x%.*" PRIxPTR
              " (preferred addr)\n", SIZxPTR, (uintptr_t)result);
       return candidate;
     }
 
     // That didn't work, so see if the preferred address is within a range
     // of permanently inacessible memory.
     if (ProbeRegion(candidate)) {
       // success - selected page cannot be usable memory
       if (result != MAP_FAILED)
         ReleaseRegion(result);
-      printf("INFO | poison area assumed at 0x%.*"PRIxPTR
+      printf("INFO | poison area assumed at 0x%.*" PRIxPTR
              " (preferred addr)\n", SIZxPTR, candidate);
       return candidate;
     }
 
     // The preferred address is already in use.  Did the OS give us a
     // consolation prize?
     if (result != MAP_FAILED) {
-      printf("INFO | poison area allocated at 0x%.*"PRIxPTR
+      printf("INFO | poison area allocated at 0x%.*" PRIxPTR
              " (consolation prize)\n", SIZxPTR, (uintptr_t)result);
       return (uintptr_t)result;
     }
 
     // It didn't, so try to allocate again, without any constraint on
     // the address.
     result = ReserveRegion(0, false);
     if (result != MAP_FAILED) {
-      printf("INFO | poison area allocated at 0x%.*"PRIxPTR
+      printf("INFO | poison area allocated at 0x%.*" PRIxPTR
              " (fallback)\n", SIZxPTR, (uintptr_t)result);
       return (uintptr_t)result;
     }
 
     printf("ERROR | no usable poison area found\n");
     return 0;
   }
 }
@@ -450,17 +450,17 @@ static uintptr_t
 ReservePositiveControl()
 {
 
   void *result = ReserveRegion(0, false);
   if (result == MAP_FAILED) {
     printf("ERROR | allocating positive control | %s\n", LastErrMsg());
     return 0;
   }
-  printf("INFO | positive control allocated at 0x%.*"PRIxPTR"\n",
+  printf("INFO | positive control allocated at 0x%.*" PRIxPTR "\n",
          SIZxPTR, (uintptr_t)result);
   return (uintptr_t)result;
 }
 
 /* The "negative control" area confirms that our probe logic does detect a
  * page that is readable, writable, or executable.
  */
 static uintptr_t
@@ -481,17 +481,17 @@ ReserveNegativeControl()
   // Now mark it executable as well as readable and writable.
   // (mmap(PROT_EXEC) may fail when applied to anonymous memory.)
 
   if (MakeRegionExecutable(result)) {
     printf("ERROR | making negative control executable | %s\n", LastErrMsg());
     return 0;
   }
 
-  printf("INFO | negative control allocated at 0x%.*"PRIxPTR"\n",
+  printf("INFO | negative control allocated at 0x%.*" PRIxPTR "\n",
          SIZxPTR, (uintptr_t)result);
   return (uintptr_t)result;
 }
 
 static void
 JumpTo(uintptr_t opaddr)
 {
 #ifdef __ia64
++++++ mozilla-kde.patch ++++++
--- /var/tmp/diff_new_pack.RIrq5H/_old  2012-04-23 16:12:09.000000000 +0200
+++ /var/tmp/diff_new_pack.RIrq5H/_new  2012-04-23 16:12:09.000000000 +0200
@@ -3247,9 +3247,9 @@
  #endif
  
    // Now look up our extensions
-diff --git a/widget/src/gtk2/Makefile.in b/widget/src/gtk2/Makefile.in
---- a/widget/src/gtk2/Makefile.in
-+++ b/widget/src/gtk2/Makefile.in
+diff --git a/widget/gtk2/Makefile.in b/widget/gtk2/Makefile.in
+--- a/widget/gtk2/Makefile.in
++++ b/widget/gtk2/Makefile.in
 @@ -135,11 +135,14 @@ DEFINES          += -DCAIRO_GFX
  
  INCLUDES      += \
@@ -3265,9 +3265,9 @@
  ifdef MOZ_X11
  INCLUDES      += -I$(srcdir)/../shared/x11
  endif
-diff --git a/widget/src/gtk2/nsFilePicker.cpp 
b/widget/src/gtk2/nsFilePicker.cpp
---- a/widget/src/gtk2/nsFilePicker.cpp
-+++ b/widget/src/gtk2/nsFilePicker.cpp
+diff --git a/widget/gtk2/nsFilePicker.cpp b/widget/gtk2/nsFilePicker.cpp
+--- a/widget/gtk2/nsFilePicker.cpp
++++ b/widget/gtk2/nsFilePicker.cpp
 @@ -33,16 +33,17 @@
   * the provisions above, a recipient may use your version of this file under
   * the terms of any one of the MPL, the GPL or the LGPL.
@@ -3580,9 +3580,9 @@
 +        }
 +    return NS_OK;
 +    }
-diff --git a/widget/src/gtk2/nsFilePicker.h b/widget/src/gtk2/nsFilePicker.h
---- a/widget/src/gtk2/nsFilePicker.h
-+++ b/widget/src/gtk2/nsFilePicker.h
+diff --git a/widget/gtk2/nsFilePicker.h b/widget/gtk2/nsFilePicker.h
+--- a/widget/gtk2/nsFilePicker.h
++++ b/widget/gtk2/nsFilePicker.h
 @@ -89,11 +89,17 @@ protected:
    nsString  mDefault;
    nsString  mDefaultExtension;

++++++ mozilla-libnotify.patch ++++++
# HG changeset patch
# User Wolfgang Rosenauer <[email protected]>
# Parent c684863b1eb3bcae92ef24bc2ac511985b1ad7e4
Bug 737646 - no biff notification if notification-daemon not running

diff --git a/toolkit/system/gnome/nsAlertsIconListener.cpp 
b/toolkit/system/gnome/nsAlertsIconListener.cpp
--- a/toolkit/system/gnome/nsAlertsIconListener.cpp
+++ b/toolkit/system/gnome/nsAlertsIconListener.cpp
@@ -47,16 +47,17 @@
 #include <gdk/gdk.h>
 
 // Compatibility macro for <libnotify-0.7
 #ifndef NOTIFY_CHECK_VERSION
 #define NOTIFY_CHECK_VERSION(x,y,z) 0
 #endif
 
 static bool gHasActions = false;
+static bool gHasCaps = false;
 
 static void notify_action_cb(NotifyNotification *notification,
                              gchar *action, gpointer user_data)
 {
   nsAlertsIconListener* alert = static_cast<nsAlertsIconListener*> (user_data);
   alert->SendCallback();
 }
 
@@ -338,27 +339,34 @@ nsAlertsIconListener::InitAlertAsync(con
       appShortName.AssignLiteral("Mozilla");
     }
 
     if (!notify_init(appShortName.get()))
       return NS_ERROR_FAILURE;
 
     GList *server_caps = notify_get_server_caps();
     if (server_caps) {
+      gHasCaps = true;
       for (GList* cap = server_caps; cap != NULL; cap = cap->next) {
         if (!strcmp((char*) cap->data, "actions")) {
           gHasActions = true;
           break;
         }
       }
       g_list_foreach(server_caps, (GFunc)g_free, NULL);
       g_list_free(server_caps);
     }
   }
 
+  if (!gHasCaps) {
+    // if notify_get_server_caps() failed above we need to assume
+    // there is no notification-server to display anything
+    return NS_ERROR_FAILURE;
+  }
+
   if (!gHasActions && aAlertTextClickable)
     return NS_ERROR_FAILURE; // No good, fallback to XUL
 
   nsCOMPtr<nsIObserverService> obsServ =
       do_GetService("@mozilla.org/observer-service;1");
   if (obsServ)
     obsServ->AddObserver(this, "quit-application", true);
 
++++++ mozilla-revert_621446.patch ++++++
# HG changeset patch
# Parent 8da41a2cee774ce4d00b9ac1032a495b8bc560a0
Revert investigation patch for bmo#621446; as it is useless on desktop and 
breaks the build for certain compilers

diff --git a/netwerk/protocol/http/HttpChannelParent.cpp 
b/netwerk/protocol/http/HttpChannelParent.cpp
--- a/netwerk/protocol/http/HttpChannelParent.cpp
+++ b/netwerk/protocol/http/HttpChannelParent.cpp
@@ -52,29 +52,25 @@
 #include "nsIBadCertListener2.h"
 #include "nsICacheEntryDescriptor.h"
 #include "nsSerializationHelper.h"
 #include "nsISerializable.h"
 #include "nsIAssociatedContentSecurity.h"
 #include "nsIApplicationCacheService.h"
 #include "nsIOfflineCacheUpdate.h"
 #include "nsIRedirectChannelRegistrar.h"
-#include "prinit.h"
 
 namespace mozilla {
 namespace net {
 
 HttpChannelParent::HttpChannelParent(PBrowserParent* iframeEmbedding)
   : mIPCClosed(false)
   , mStoredStatus(0)
   , mStoredProgress(0)
   , mStoredProgressMax(0)
-  , mSentRedirect1Begin(false)
-  , mSentRedirect1BeginFailed(false)
-  , mReceivedRedirect2Verify(false)
 {
   // Ensure gHttpHandler is initialized: we need the atom table up and running.
   nsIHttpProtocolHandler* handler;
   CallGetService(NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "http", &handler);
   NS_ASSERTION(handler, "no http handler");
 
   mTabParent = do_QueryObject(static_cast<TabParent*>(iframeEmbedding));
 }
@@ -326,21 +322,16 @@ HttpChannelParent::RecvUpdateAssociatedC
     mAssociatedContentSecurity->SetCountSubRequestsHighSecurity(high);
     mAssociatedContentSecurity->SetCountSubRequestsLowSecurity(low);
     mAssociatedContentSecurity->SetCountSubRequestsBrokenSecurity(broken);
     mAssociatedContentSecurity->SetCountSubRequestsNoSecurity(no);
   }
   return true;
 }
 
-// Bug 621446 investigation, we don't want conditional PR_Aborts bellow to be
-// merged to a single address.
-#pragma warning(disable : 4068)
-#pragma GCC optimize ("O0")
-
 bool
 HttpChannelParent::RecvRedirect2Verify(const nsresult& result, 
                                        const RequestHeaderTuples& 
changedHeaders)
 {
   if (NS_SUCCEEDED(result)) {
     nsCOMPtr<nsIHttpChannel> newHttpChannel =
         do_QueryInterface(mRedirectChannel);
 
@@ -348,40 +339,21 @@ HttpChannelParent::RecvRedirect2Verify(c
       for (PRUint32 i = 0; i < changedHeaders.Length(); i++) {
         newHttpChannel->SetRequestHeader(changedHeaders[i].mHeader,
                                          changedHeaders[i].mValue,
                                          changedHeaders[i].mMerge);
       }
     }
   }
 
-  if (!mRedirectCallback) {
-    // Bug 621446 investigation (optimization turned off above)
-    if (mReceivedRedirect2Verify)
-      NS_RUNTIMEABORT("Duplicate fire");
-    if (mSentRedirect1BeginFailed)
-      NS_RUNTIMEABORT("Send to child failed");
-    if (mSentRedirect1Begin && NS_FAILED(result))
-      NS_RUNTIMEABORT("Redirect failed");
-    if (mSentRedirect1Begin && NS_SUCCEEDED(result))
-      NS_RUNTIMEABORT("Redirect succeeded");
-    if (!mRedirectChannel)
-      NS_RUNTIMEABORT("Missing redirect channel");
-  }
-
-  mReceivedRedirect2Verify = true;
-
   mRedirectCallback->OnRedirectVerifyCallback(result);
   mRedirectCallback = nsnull;
   return true;
 }
 
-// Bug 621446 investigation
-#pragma GCC reset_options
-
 bool
 HttpChannelParent::RecvDocumentChannelCleanup()
 {
   // From now on only using mAssociatedContentSecurity.  Free everything else.
   mChannel = 0;          // Reclaim some memory sooner.
   mCacheDescriptor = 0;  // Else we'll block other channels reading same URI
   return true;
 }
@@ -583,24 +555,18 @@ HttpChannelParent::StartRedirect(PRUint3
 
   nsHttpChannel *httpChan = static_cast<nsHttpChannel *>(mChannel.get());
   nsHttpResponseHead *responseHead = httpChan->GetResponseHead();
   bool result = SendRedirect1Begin(newChannelId,
                                    IPC::URI(newURI),
                                    redirectFlags,
                                    responseHead ? *responseHead
                                                 : nsHttpResponseHead());
-  if (!result) {
-    // Bug 621446 investigation
-    mSentRedirect1BeginFailed = true;
+  if (!result)
     return NS_BINDING_ABORTED;
-  }
-
-  // Bug 621446 investigation
-  mSentRedirect1Begin = true;
 
   // Result is handled in RecvRedirect2Verify above
 
   mRedirectChannel = newChannel;
   mRedirectCallback = callback;
   return NS_OK;
 }
 
diff --git a/netwerk/protocol/http/HttpChannelParent.h 
b/netwerk/protocol/http/HttpChannelParent.h
--- a/netwerk/protocol/http/HttpChannelParent.h
+++ b/netwerk/protocol/http/HttpChannelParent.h
@@ -128,18 +128,14 @@ private:
   nsCOMPtr<nsIChannel> mRedirectChannel;
   nsCOMPtr<nsIAsyncVerifyRedirectCallback> mRedirectCallback;
 
   // state for combining OnStatus/OnProgress with OnDataAvailable
   // into one IPDL call to child.
   nsresult mStoredStatus;
   PRUint64 mStoredProgress;
   PRUint64 mStoredProgressMax;
-
-  bool mSentRedirect1Begin : 1;
-  bool mSentRedirect1BeginFailed : 1;
-  bool mReceivedRedirect2Verify : 1;
 };
 
 } // namespace net
 } // namespace mozilla
 
 #endif // mozilla_net_HttpChannelParent_h
++++++ tb-develdirs.patch ++++++
--- /var/tmp/diff_new_pack.RIrq5H/_old  2012-04-23 16:12:09.000000000 +0200
+++ /var/tmp/diff_new_pack.RIrq5H/_new  2012-04-23 16:12:09.000000000 +0200
@@ -1,12 +1,8 @@
 diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in
+index bea1ca3..2de10c0 100644
 --- a/config/autoconf.mk.in
 +++ b/config/autoconf.mk.in
-@@ -55,21 +55,21 @@ MOZ_APP_DISPLAYNAME = @MOZ_APP_DISPLAYNA
- MOZ_APP_VERSION = @MOZ_APP_VERSION@
- MOZ_MACBUNDLE_NAME= @MOZ_MACBUNDLE_NAME@
- 
- MOZ_PKG_SPECIAL = @MOZ_PKG_SPECIAL@
- 
+@@ -61,11 +61,11 @@ MOZ_PKG_SPECIAL = @MOZ_PKG_SPECIAL@
  prefix                = @prefix@
  exec_prefix   = @exec_prefix@
  bindir                = @bindir@
@@ -20,8 +16,3 @@
  
  installdir    = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
  sdkdir                = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
- 
- MOZDEPTH      = $(DEPTH)/mozilla
- DIST          = $(MOZDEPTH)/dist
- LIBXUL_SDK      = @LIBXUL_SDK@
- 

++++++ thunderbird-11.0.1-source.tar.bz2 -> thunderbird-12.0-source.tar.bz2 
++++++
/work/SRC/openSUSE:Factory/MozillaThunderbird/thunderbird-11.0.1-source.tar.bz2 
/work/SRC/openSUSE:Factory/.MozillaThunderbird.new/thunderbird-12.0-source.tar.bz2
 differ: char 11, line 1

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to