This commit is contained in:
parent
c86da3e940
commit
7e85d3c170
@ -1,3 +1,59 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 12 11:53:55 CDT 2007 - maw@suse.de
|
||||
|
||||
- Merge chagnges from the build service (thanks, Wolfgang)
|
||||
- Now use l10n-%{version}.tar.bz2 instead of l10n.tar.bz2 as
|
||||
before.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 19 07:15:36 CEST 2007 - wr@rosenauer.org
|
||||
|
||||
- update to final version 2.0.0.0
|
||||
(http://www.mozilla.com/en-US/thunderbird/2.0.0.0/releasenotes/)
|
||||
- update enigmail to 0.95.0
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 18 14:16:44 CEST 2007 - mfabian@suse.de
|
||||
|
||||
- add Japanese to the languages which get PANGO enabled in the
|
||||
start script to support the Japanese combining characters
|
||||
U+3099 U+309A (see bugzilla #262718 comment #29).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 12 16:35:43 CEST 2007 - wr@rosenauer.org
|
||||
|
||||
- update to 2.0.0.0rc1
|
||||
- enabled translations package
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 30 11:35:01 CEST 2007 - wr@rosenauer.org
|
||||
|
||||
- update to snapshot 2.0.0.0pre-20070329
|
||||
- security update enigmail 0.94.3
|
||||
(Bugtraq #22758)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 30 10:35:03 CEST 2007 - meissner@suse.de
|
||||
|
||||
- require unzip
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 13 08:36:31 CET 2007 - wr@rosenauer.org
|
||||
|
||||
- update to snapshot 2.0pre-20060312
|
||||
- removed implicit NSS version dependency
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 15 19:47:56 CET 2007 - wr@rosenauer.org
|
||||
|
||||
- update to snapshot 2.0beta2-20060214
|
||||
- fixed build on SLES9
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 5 18:56:14 CET 2007 - wr@rosenauer.org
|
||||
|
||||
- fixed check in add-plugins.sh (#242237)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 5 18:20:13 CEST 2007 - maw@suse.de
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# spec file for package MozillaThunderbird (Version 1.5.0.12)
|
||||
# spec file for package MozillaThunderbird (Version 2.0.0.0)
|
||||
#
|
||||
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
# This file and all modifications and additions to the pristine
|
||||
@ -13,7 +13,7 @@
|
||||
Name: MozillaThunderbird
|
||||
BuildRequires: gcc-c++ libgnomeui-devel libidl-devel mozilla-nss-devel orbit-devel unzip update-desktop-files zip
|
||||
License: GNU General Public License (GPL), GNU Library General Public License v. 2.0 and 2.1 (LGPL)
|
||||
Version: 1.5.0.12
|
||||
Version: 2.0.0.0
|
||||
Release: 1
|
||||
Summary: The Stand-Alone Mozilla Mail Component
|
||||
URL: http://www.mozilla.org/products/thunderbird/
|
||||
@ -22,19 +22,19 @@ Source: thunderbird-%{version}-source.tar.bz2
|
||||
Source1: MozillaThunderbird.desktop
|
||||
Source2: add-plugins.sh.in
|
||||
Source3: mozilla.sh.in
|
||||
Source4: l10n.tar.bz2
|
||||
Source4: l10n-%{version}.tar.bz2
|
||||
Source5: mailredirect-0.7.4.xpi
|
||||
Source6: suse-default-prefs.js
|
||||
Source9: enigmail-0.94.2.tar.gz
|
||||
Source9: enigmail-0.95.0.tar.gz
|
||||
Source11: enigmail.manifest
|
||||
Patch1: pango-cairo.patch
|
||||
Patch1: replytolist.patch
|
||||
Patch2: thunderbird-appname.patch
|
||||
Patch3: visibility.patch
|
||||
Patch4: locale.patch
|
||||
Patch5: abuild.patch
|
||||
Patch6: nspr-prdtoa.patch
|
||||
Patch7: enig-shared.patch
|
||||
Patch8: digest-mail.patch
|
||||
Patch8: gcc-undefined-ops.patch
|
||||
Patch9: thunderbird-no-update.patch
|
||||
Patch10: mips-buildfix.diff
|
||||
Patch11: lightning.patch
|
||||
@ -42,21 +42,11 @@ Patch12: misc.dif
|
||||
Patch13: nss-opt.patch
|
||||
Patch14: html-compose.patch
|
||||
Patch15: system-extensions.patch
|
||||
Patch16: xul-picker.patch
|
||||
Patch17: remote.patch
|
||||
Patch18: system-nss.patch
|
||||
Patch19: system-nspr.patch
|
||||
#Patch21: ppc64.patch
|
||||
Patch16: list-replyto-clobber.patch
|
||||
Patch22: cjk-postscript-fonts.dif
|
||||
Patch24: multi-replyto.patch
|
||||
Patch25: postscript.patch
|
||||
Patch26: cups-paper.patch
|
||||
Patch27: print-properties.patch
|
||||
Patch28: replytolist.patch
|
||||
Patch29: list-replyto-clobber.patch
|
||||
Patch30: undefined-ops.patch
|
||||
# bnc 232305
|
||||
Patch31: thunderbird-1.5.0.8-uninitalized-vars-232305.patch
|
||||
Patch27: thunderbird-1.5.0.8-uninitalized-vars-232305.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
PreReq: libstdc++ fileutils textutils /bin/sh
|
||||
%if %suse_version > 1000
|
||||
@ -142,7 +132,7 @@ cd $RPM_BUILD_DIR/mozilla
|
||||
%patch5
|
||||
%patch6
|
||||
%patch8
|
||||
%patch9
|
||||
###%patch9
|
||||
%patch10
|
||||
#%patch11
|
||||
%patch12
|
||||
@ -150,32 +140,36 @@ cd $RPM_BUILD_DIR/mozilla
|
||||
%patch14
|
||||
%patch15
|
||||
%patch16
|
||||
#%patch17 # temporary disabled
|
||||
%if %has_system_nss
|
||||
%patch18
|
||||
%endif
|
||||
%if %has_system_nspr
|
||||
%patch19
|
||||
%endif
|
||||
#%patch21
|
||||
### #%patch17 # temporary disabled
|
||||
### %if %has_system_nss
|
||||
### %patch18
|
||||
### %endif
|
||||
### %if %has_system_nspr
|
||||
### %patch19
|
||||
### %endif
|
||||
### %patch21
|
||||
%patch22
|
||||
%patch24
|
||||
### %patch24
|
||||
%patch25
|
||||
%patch26
|
||||
%patch27
|
||||
%patch28
|
||||
%patch29
|
||||
%patch30
|
||||
%patch31 -p0
|
||||
### %patch27
|
||||
### %patch28
|
||||
### %patch29
|
||||
### %patch30
|
||||
### %patch31 -p0
|
||||
%patch27 -p0
|
||||
|
||||
%build
|
||||
export MOZ_BUILD_DATE=%{releasedate}
|
||||
export MOZILLA_OFFICIAL=1
|
||||
export BUILD_OFFICIAL=1
|
||||
export CFLAGS="$RPM_OPT_FLAGS -Os -fno-strict-aliasing"
|
||||
export CFLAGS="$RPM_OPT_FLAGS -g -Os -fno-strict-aliasing"
|
||||
%if %suse_version > 1000
|
||||
export CFLAGS="$CFLAGS -fstack-protector"
|
||||
%endif
|
||||
%ifarch ppc64
|
||||
export CFLAGS="$CFLAGS -mminimal-toc"
|
||||
%endif
|
||||
export CXXFLAGS="$CFLAGS"
|
||||
export MOZCONFIG=$RPM_BUILD_DIR/mozconfig
|
||||
cat << EOF > $MOZCONFIG
|
||||
@ -191,7 +185,6 @@ ac_add_options --includedir=%{_includedir}
|
||||
ac_add_options --enable-optimize="$CFLAGS"
|
||||
ac_add_options --with-system-jpeg
|
||||
ac_add_options --with-system-png
|
||||
ac_add_options --with-system-mng
|
||||
ac_add_options --with-system-zlib
|
||||
#ac_add_options --enable-extensions=default,lightning
|
||||
ac_add_options --enable-default-toolkit=gtk2
|
||||
@ -241,14 +234,21 @@ cp -rf $RPM_BUILD_DIR/mozilla/dist/thunderbird/* $RPM_BUILD_ROOT%{progdir}
|
||||
# build additional locales
|
||||
%if %localize
|
||||
echo %defattr\(-,root,root\) > %{_tmppath}/translations.list
|
||||
for locale in $(cat mail/locales/all-locales); do
|
||||
make -C mail/locales libs-$locale
|
||||
cp dist/xpi-stage/locale-$locale/chrome/$locale.jar \
|
||||
$RPM_BUILD_ROOT%{progdir}/chrome
|
||||
cp dist/xpi-stage/locale-$locale/chrome/$locale.manifest \
|
||||
$RPM_BUILD_ROOT%{progdir}/chrome
|
||||
echo %{progdir}/chrome/$locale.jar >> %{_tmppath}/translations.list
|
||||
echo %{progdir}/chrome/$locale.manifest >> %{_tmppath}/translations.list
|
||||
#for locale in $(cat mail/locales/all-locales); do
|
||||
for locale in $(awk '{ print $1; }' mail/locales/shipped-locales); do
|
||||
case $locale in
|
||||
ja-JP-mac)
|
||||
# broken locales, do not work
|
||||
;;
|
||||
*)
|
||||
make -C mail/locales libs-$locale
|
||||
cp dist/xpi-stage/locale-$locale/chrome/$locale.jar \
|
||||
$RPM_BUILD_ROOT%{progdir}/chrome
|
||||
cp dist/xpi-stage/locale-$locale/chrome/$locale.manifest \
|
||||
$RPM_BUILD_ROOT%{progdir}/chrome
|
||||
echo %{progdir}/chrome/$locale.jar >> %{_tmppath}/translations.list
|
||||
echo %{progdir}/chrome/$locale.manifest >> %{_tmppath}/translations.list
|
||||
esac
|
||||
done
|
||||
%endif
|
||||
# overwrite the mozilla start-script and link it to /usr/bin
|
||||
@ -313,17 +313,17 @@ unzip %{SOURCE5} -d $_redir_dir
|
||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/pixmaps/
|
||||
cp -f $RPM_BUILD_ROOT%{progdir}/icons/mozicon50.xpm $RPM_BUILD_ROOT%{_datadir}/pixmaps/thunderbird.xpm
|
||||
%if %suse_version > 820
|
||||
%suse_update_desktop_file %{name} Network Email GTK
|
||||
%suse_update_desktop_file %{name} Application Network Email GTK
|
||||
%endif
|
||||
%if %has_system_nspr && !%has_system_nss
|
||||
%if !%has_system_nss
|
||||
# modify provides and requires lists
|
||||
cat << EOF > %{my_provides}
|
||||
grep -vE "libnss3.so|libnssckbi.so|libsmime3.so|libsoftokn3.so|libssl3.so" | %{__find_provides}
|
||||
grep -vE "libnss3.so|libnssckbi.so|libsmime3.so|libsoftokn3.so|libssl3.so|libfreebl3.so" | %{__find_provides}
|
||||
EOF
|
||||
chmod 755 %{my_provides}
|
||||
%define __find_provides %{my_provides}
|
||||
cat << EOF > %{my_requires}
|
||||
grep -vE "libnss3.so|libnssckbi.so|libsmime3.so|libsoftokn3.so|libssl3.so|thunderbird-bin" | %{__find_requires}
|
||||
grep -vE "libnss3.so|libnssckbi.so|libsmime3.so|libsoftokn3.so|libssl3.so|libpipnss.so|libfreebl3.so|thunderbird-bin" | %{__find_requires}
|
||||
EOF
|
||||
chmod 755 %{my_requires}
|
||||
%define __find_requires %{my_requires}
|
||||
@ -353,7 +353,7 @@ exit 0
|
||||
|
||||
%preun
|
||||
if [ "$1" = "0" ]; then # deinstallation
|
||||
rm -f %{progdir}/components/myspell/*
|
||||
rm -f %{progdir}/dictionaries/*
|
||||
fi
|
||||
exit 0
|
||||
|
||||
@ -378,8 +378,10 @@ exit 0
|
||||
%{progdir}/libsoftokn3.chk
|
||||
%{progdir}/libsoftokn3.so
|
||||
%{progdir}/libssl3.so
|
||||
%{progdir}/libfreebl3.*
|
||||
%endif
|
||||
#
|
||||
%{progdir}/dependentlibs.list
|
||||
%{progdir}/LICENSE.txt
|
||||
%{progdir}/README.txt
|
||||
%{progdir}/libldap50.so
|
||||
@ -389,6 +391,7 @@ exit 0
|
||||
%{progdir}/libxpcom_compat.so
|
||||
%{progdir}/libxpcom.so
|
||||
%{progdir}/libxpistub.so
|
||||
%{progdir}/license.html
|
||||
%{progdir}/mozilla-xremote-client
|
||||
%{progdir}/run-mozilla.sh
|
||||
%{progdir}/thunderbird
|
||||
@ -397,6 +400,7 @@ exit 0
|
||||
%{progdir}/updater.ini
|
||||
%{progdir}/xpicleanup
|
||||
%dir %{progdir}/components
|
||||
%{progdir}/components/FeedProcessor.js
|
||||
%{progdir}/components/accessibility-atk.xpt
|
||||
%{progdir}/components/accessibility.xpt
|
||||
%{progdir}/components/addrbook.xpt
|
||||
@ -427,6 +431,8 @@ exit 0
|
||||
%{progdir}/components/dom_html.xpt
|
||||
%{progdir}/components/dom_loadsave.xpt
|
||||
%{progdir}/components/dom_range.xpt
|
||||
%{progdir}/components/dom_sidebar.xpt
|
||||
%{progdir}/components/dom_storage.xpt
|
||||
%{progdir}/components/dom_stylesheets.xpt
|
||||
%{progdir}/components/dom_traversal.xpt
|
||||
%{progdir}/components/dom_views.xpt
|
||||
@ -434,12 +440,13 @@ exit 0
|
||||
%{progdir}/components/dom_xpath.xpt
|
||||
%{progdir}/components/dom.xpt
|
||||
%{progdir}/components/dom_xul.xpt
|
||||
%{progdir}/components/downloadmanager.xpt
|
||||
%{progdir}/components/downloads.xpt
|
||||
%{progdir}/components/editor.xpt
|
||||
%{progdir}/components/embed_base.xpt
|
||||
%{progdir}/components/extensions.xpt
|
||||
%{progdir}/components/exthandler.xpt
|
||||
%{progdir}/components/fastfind.xpt
|
||||
%{progdir}/components/feeds.xpt
|
||||
%{progdir}/components/filepicker.xpt
|
||||
%{progdir}/components/find.xpt
|
||||
%{progdir}/components/gfx.xpt
|
||||
@ -449,6 +456,7 @@ exit 0
|
||||
%{progdir}/components/imglib2.xpt
|
||||
%{progdir}/components/impComm4xMail.xpt
|
||||
%{progdir}/components/import.xpt
|
||||
%{progdir}/components/inspector.xpt
|
||||
%{progdir}/components/intl.xpt
|
||||
%{progdir}/components/jar.xpt
|
||||
%{progdir}/components/jsconsole.xpt
|
||||
@ -484,7 +492,6 @@ exit 0
|
||||
%{progdir}/components/msgnews.xpt
|
||||
%{progdir}/components/msgsearch.xpt
|
||||
%{progdir}/components/msgsmime.xpt
|
||||
%{progdir}/components/myspell/
|
||||
%{progdir}/components/necko_about.xpt
|
||||
%{progdir}/components/necko_cache.xpt
|
||||
%{progdir}/components/necko_cookie.xpt
|
||||
@ -503,9 +510,9 @@ exit 0
|
||||
%{progdir}/components/nsCloseAllWindows.js
|
||||
%{progdir}/components/nsComposerCmdLineHandler.js
|
||||
%{progdir}/components/nsDefaultCLH.js
|
||||
%{progdir}/components/nsDownloadProgressListener.js
|
||||
%{progdir}/components/nsExtensionManager.js
|
||||
%{progdir}/components/nsFilePicker.js
|
||||
%{progdir}/components/nsPhishingProtectionApplication.js
|
||||
%{progdir}/components/nsHelperAppDlg.js
|
||||
%{progdir}/components/nsInterfaceInfoToIDL.js
|
||||
%{progdir}/components/nsLDAPPrefsService.js
|
||||
@ -513,6 +520,11 @@ exit 0
|
||||
%{progdir}/components/nsUpdateService.js
|
||||
%{progdir}/components/nsProgressDialog.js
|
||||
%{progdir}/components/nsProxyAutoConfig.js
|
||||
%{progdir}/components/nsURLFormatter.js
|
||||
%{progdir}/components/nsUrlClassifierLib.js
|
||||
%{progdir}/components/nsUrlClassifierListManager.js
|
||||
%{progdir}/components/nsUrlClassifierTable.js
|
||||
%{progdir}/components/url-classifier.xpt
|
||||
%{progdir}/components/offlineStartup.js
|
||||
%{progdir}/components/pipboot.xpt
|
||||
%{progdir}/components/pipnss.xpt
|
||||
@ -523,11 +535,14 @@ exit 0
|
||||
%{progdir}/components/progressDlg.xpt
|
||||
%{progdir}/components/proxyObjInst.xpt
|
||||
%{progdir}/components/rdf.xpt
|
||||
%{progdir}/components/saxparser.xpt
|
||||
%{progdir}/components/nsSetDefaultMail.js
|
||||
%{progdir}/components/shellservice.xpt
|
||||
%{progdir}/components/shistory.xpt
|
||||
%{progdir}/components/sidebar.xpt
|
||||
%{progdir}/components/signonviewer.xpt
|
||||
%{progdir}/components/smime-service.js
|
||||
%{progdir}/components/spellchecker.xpt
|
||||
%{progdir}/components/storage.xpt
|
||||
%{progdir}/components/toolkitprofile.xpt
|
||||
%{progdir}/components/toolkitremote.xpt
|
||||
%{progdir}/components/txmgr.xpt
|
||||
@ -536,6 +551,7 @@ exit 0
|
||||
%{progdir}/components/unicharutil.xpt
|
||||
%{progdir}/components/update.xpt
|
||||
%{progdir}/components/uriloader.xpt
|
||||
%{progdir}/components/urlformatter.xpt
|
||||
%{progdir}/components/wallet.xpt
|
||||
%{progdir}/components/walleteditor.xpt
|
||||
%{progdir}/components/walletpreview.xpt
|
||||
@ -546,7 +562,7 @@ exit 0
|
||||
%{progdir}/components/widget.xpt
|
||||
%{progdir}/components/windowds.xpt
|
||||
%{progdir}/components/windowwatcher.xpt
|
||||
%{progdir}/components/xmlextras.xpt
|
||||
%{progdir}/components/xpautocomplete.xpt
|
||||
%{progdir}/components/xpcom_base.xpt
|
||||
%{progdir}/components/xpcom_components.xpt
|
||||
%{progdir}/components/xpcom_ds.xpt
|
||||
@ -565,15 +581,16 @@ exit 0
|
||||
%{progdir}/chrome/en-US.*
|
||||
%{progdir}/chrome/messenger.*
|
||||
%{progdir}/chrome/newsblog.*
|
||||
%{progdir}/chrome/offline.*
|
||||
%{progdir}/chrome/pippki.*
|
||||
%{progdir}/chrome/toolkit.*
|
||||
%{progdir}/chrome/US.jar
|
||||
%{progdir}/chrome/icons/
|
||||
%{progdir}/dictionaries/
|
||||
%{progdir}/defaults/
|
||||
%{progdir}/greprefs/
|
||||
%{progdir}/extensions/
|
||||
%{progdir}/init.d/
|
||||
%{progdir}/isp/
|
||||
%{_datadir}/applications/%{name}.desktop
|
||||
%{_datadir}/pixmaps/thunderbird.xpm
|
||||
%{_bindir}/%{progname}
|
||||
@ -584,15 +601,43 @@ exit 0
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Tue Jun 12 2007 - maw@suse.de
|
||||
- Merge chagnges from the build service (thanks, Wolfgang)
|
||||
- Now use l10n-%%{version}.tar.bz2 instead of l10n.tar.bz2 as
|
||||
before.
|
||||
* Tue Jun 05 2007 - maw@suse.de
|
||||
- Security update to version 1.5.0.12 (#271197).
|
||||
* Tue Jun 05 2007 - sbrabec@suse.cz
|
||||
- Removed invalid desktop category "Application" (#254654).
|
||||
* Thu Apr 19 2007 - wr@rosenauer.org
|
||||
- update to final version 2.0.0.0
|
||||
(http://www.mozilla.com/en-US/thunderbird/2.0.0.0/releasenotes/)
|
||||
- update enigmail to 0.95.0
|
||||
* Wed Apr 18 2007 - mfabian@suse.de
|
||||
- add Japanese to the languages which get PANGO enabled in the
|
||||
start script to support the Japanese combining characters
|
||||
U+3099 U+309A (see bugzilla #262718 comment #29).
|
||||
* Thu Apr 12 2007 - wr@rosenauer.org
|
||||
- update to 2.0.0.0rc1
|
||||
- enabled translations package
|
||||
* Fri Mar 30 2007 - wr@rosenauer.org
|
||||
- update to snapshot 2.0.0.0pre-20070329
|
||||
- security update enigmail 0.94.3
|
||||
(Bugtraq #22758)
|
||||
* Fri Mar 30 2007 - meissner@suse.de
|
||||
- require unzip
|
||||
- require unzip
|
||||
* Tue Mar 13 2007 - wr@rosenauer.org
|
||||
- update to snapshot 2.0pre-20060312
|
||||
- removed implicit NSS version dependency
|
||||
* Thu Mar 08 2007 - meissner@suse.de
|
||||
- Upgraded to 1.5.0.10 security release.
|
||||
- Upgraded to enigmail 0.94.2.
|
||||
* Thu Feb 15 2007 - wr@rosenauer.org
|
||||
- update to snapshot 2.0beta2-20060214
|
||||
- fixed build on SLES9
|
||||
* Mon Feb 05 2007 - wr@rosenauer.org
|
||||
- fixed check in add-plugins.sh (#242237)
|
||||
* Tue Jan 30 2007 - maw@suse.de
|
||||
- Add thunderbird-1.5.0.8-uninitalized-vars-232305.patch (#232305).
|
||||
* Thu Jan 18 2007 - maw@suse.de
|
||||
|
74
abuild.patch
74
abuild.patch
@ -7,7 +7,6 @@ References:
|
||||
Program is using uninitialized variables. Note the difference between "is used"
|
||||
and "may be used". Please investigate and fix.
|
||||
Problematic file(s) and their linenumbers:
|
||||
certificate.c: 541
|
||||
nsUnicodeToJamoTTF.cpp: 855
|
||||
nsObjectFrame.cpp: 1933
|
||||
###
|
||||
@ -23,8 +22,10 @@ Problematic file(s) and their linenumbers:
|
||||
nsFrame.cpp: 3536
|
||||
###
|
||||
|
||||
--- gfx/src/gtk/nsFontMetricsUtils.cpp.old 2005-03-24 07:27:33.000000000 +0100
|
||||
+++ gfx/src/gtk/nsFontMetricsUtils.cpp 2005-03-24 07:28:26.000000000 +0100
|
||||
Index: gfx/src/gtk/nsFontMetricsUtils.cpp
|
||||
===================================================================
|
||||
--- gfx/src/gtk/nsFontMetricsUtils.cpp.orig
|
||||
+++ gfx/src/gtk/nsFontMetricsUtils.cpp
|
||||
@@ -75,6 +75,7 @@ NS_FontMetricsGetHints(void)
|
||||
#ifdef MOZ_ENABLE_COREXFONTS
|
||||
return nsFontMetricsGTK::GetHints();
|
||||
@ -40,18 +41,36 @@ Problematic file(s) and their linenumbers:
|
||||
+ return 1;
|
||||
}
|
||||
|
||||
#ifdef MOZ_ENABLE_XFT
|
||||
#if defined(MOZ_ENABLE_XFT) && defined(MOZ_ENABLE_COREXFONTS)
|
||||
Index: intl/uconv/ucvko/nsUnicodeToJamoTTF.cpp
|
||||
===================================================================
|
||||
--- intl/uconv/ucvko/nsUnicodeToJamoTTF.cpp.orig
|
||||
+++ intl/uconv/ucvko/nsUnicodeToJamoTTF.cpp
|
||||
@@ -842,6 +842,7 @@ PRInt16 JamoSrchReplace (const JamoNormM
|
||||
{
|
||||
const JamoNormMap *match;
|
||||
JamoNormMap key;
|
||||
+ key.liga = 0;
|
||||
|
||||
// cluster array is made up of PRUint8's to save memory
|
||||
// and we have to subtract aOffset from the input before looking it up.
|
||||
Index: layout/generic/nsObjectFrame.cpp
|
||||
===================================================================
|
||||
--- layout/generic/nsObjectFrame.cpp.orig
|
||||
+++ layout/generic/nsObjectFrame.cpp
|
||||
@@ -1846,6 +1846,7 @@ nsObjectFrame::Paint(nsPresContext*
|
||||
nsPoint origin;
|
||||
float t2p;
|
||||
window.window = nsnull;
|
||||
+ window.ws_info = nsnull;
|
||||
|
||||
// prepare embedded mode printing struct
|
||||
nsPluginPrint npprint;
|
||||
Index: docshell/base/nsWebShell.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/docshell/base/nsWebShell.cpp,v
|
||||
retrieving revision 1.656.2.1
|
||||
diff -u -p -6 -r1.656.2.1 nsWebShell.cpp
|
||||
--- docshell/base/nsWebShell.cpp 16 Sep 2005 19:11:52 -0000 1.656.2.1
|
||||
+++ docshell/base/nsWebShell.cpp 22 Sep 2005 06:30:30 -0000
|
||||
@@ -556,12 +556,13 @@ nsWebShell::OnLinkClickSync(nsIContent *
|
||||
// XXX TODO Should be similar to the HTML IMG ALT attribute handling
|
||||
// in NS 4.x
|
||||
default:
|
||||
--- docshell/base/nsWebShell.cpp.orig
|
||||
+++ docshell/base/nsWebShell.cpp
|
||||
@@ -557,6 +557,7 @@ nsWebShell::OnLinkClickSync(nsIContent *
|
||||
NS_ABORT_IF_FALSE(0,"unexpected link verb");
|
||||
return NS_ERROR_UNEXPECTED;
|
||||
}
|
||||
@ -59,6 +78,29 @@ diff -u -p -6 -r1.656.2.1 nsWebShell.cpp
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWebShell::OnOverLink(nsIContent* aContent,
|
||||
nsIURI* aURI,
|
||||
const PRUnichar* aTargetSpec)
|
||||
Index: layout/generic/nsFrame.cpp
|
||||
===================================================================
|
||||
--- layout/generic/nsFrame.cpp.orig
|
||||
+++ layout/generic/nsFrame.cpp
|
||||
@@ -3569,7 +3569,7 @@ nsFrame::PeekOffsetParagraph(nsPresConte
|
||||
#ifdef DEBUG_paragraph
|
||||
printf("Selecting paragraph\n");
|
||||
#endif
|
||||
- nsIFrame* blockFrame;
|
||||
+ nsIFrame* blockFrame = NULL;
|
||||
nsCOMPtr<nsILineIterator> iter (getter_AddRefs(GetBlockFrameAndLineIter(this, &blockFrame)));
|
||||
if (!blockFrame || !iter)
|
||||
return NS_ERROR_UNEXPECTED;
|
||||
Index: mailnews/local/src/nsMailboxService.cpp
|
||||
===================================================================
|
||||
--- mailnews/local/src/nsMailboxService.cpp.orig
|
||||
+++ mailnews/local/src/nsMailboxService.cpp
|
||||
@@ -228,7 +228,7 @@ nsresult nsMailboxService::FetchMessage(
|
||||
|
||||
// this happens with forward inline of message/rfc822 attachment
|
||||
// opened in a stand-alone msg window.
|
||||
- PRInt32 typeIndex = typeIndex = uriString.Find("&type=application/x-message-display");
|
||||
+ PRInt32 typeIndex = uriString.Find("&type=application/x-message-display");
|
||||
if (typeIndex != kNotFound)
|
||||
{
|
||||
uriString.Cut(typeIndex, sizeof("&type=application/x-message-display") - 1);
|
||||
|
@ -1,885 +0,0 @@
|
||||
Index: mailnews/base/src/nsMessenger.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mailnews/base/src/nsMessenger.cpp,v
|
||||
retrieving revision 1.326
|
||||
diff -u -w -p -8 -r1.326 nsMessenger.cpp
|
||||
--- base/src/nsMessenger.cpp 26 Sep 2005 01:38:19 -0000 1.326
|
||||
+++ mailnews/base/src/nsMessenger.cpp 21 Oct 2005 15:51:26 -0000
|
||||
@@ -612,16 +612,17 @@ nsMessenger::LoadURL(nsIDOMWindowInterna
|
||||
NS_ConvertASCIItoUTF16 uriString(aURL);
|
||||
// Cleanup the empty spaces that might be on each end.
|
||||
uriString.Trim(" ");
|
||||
// Eliminate embedded newlines, which single-line text fields now allow:
|
||||
uriString.StripChars("\r\n");
|
||||
NS_ENSURE_TRUE(!uriString.IsEmpty(), NS_ERROR_FAILURE);
|
||||
|
||||
PRBool loadingFromFile = PR_FALSE;
|
||||
+ PRBool getDummyMsgHdr = PR_FALSE;
|
||||
PRInt64 fileSize;
|
||||
|
||||
if (StringBeginsWith(uriString, NS_LITERAL_STRING("file:")))
|
||||
{
|
||||
|
||||
nsCOMPtr<nsIURI> fileUri;
|
||||
rv = NS_NewURI(getter_AddRefs(fileUri), uriString);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
@@ -629,41 +630,48 @@ nsMessenger::LoadURL(nsIDOMWindowInterna
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
nsCOMPtr <nsIFile> file;
|
||||
rv = fileUrl->GetFile(getter_AddRefs(file));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
file->GetFileSize(&fileSize);
|
||||
uriString.ReplaceSubstring(NS_LITERAL_STRING("file:"), NS_LITERAL_STRING("mailbox:"));
|
||||
uriString.Append(NS_LITERAL_STRING("&number=0"));
|
||||
loadingFromFile = PR_TRUE;
|
||||
+ getDummyMsgHdr = PR_TRUE;
|
||||
}
|
||||
+ else if (FindInReadable(NS_LITERAL_STRING("type=application/x-message-display"), uriString))
|
||||
+ getDummyMsgHdr = PR_TRUE;
|
||||
|
||||
nsCOMPtr<nsIURI> uri;
|
||||
rv = NS_NewURI(getter_AddRefs(uri), uriString);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
NS_ENSURE_TRUE(mDocShell, NS_ERROR_FAILURE);
|
||||
nsCOMPtr<nsIMsgMailNewsUrl> msgurl = do_QueryInterface(uri);
|
||||
if (msgurl)
|
||||
{
|
||||
msgurl->SetMsgWindow(mMsgWindow);
|
||||
+ if (loadingFromFile || getDummyMsgHdr)
|
||||
+ {
|
||||
if (loadingFromFile)
|
||||
{
|
||||
nsCOMPtr <nsIMailboxUrl> mailboxUrl = do_QueryInterface(msgurl, &rv);
|
||||
mailboxUrl->SetMessageSize((PRUint32) fileSize);
|
||||
+ }
|
||||
+ if (getDummyMsgHdr)
|
||||
+ {
|
||||
nsCOMPtr <nsIMsgHeaderSink> headerSink;
|
||||
// need to tell the header sink to capture some headers to create a fake db header
|
||||
// so we can do reply to a .eml file or a rfc822 msg attachment.
|
||||
mMsgWindow->GetMsgHeaderSink(getter_AddRefs(headerSink));
|
||||
if (headerSink)
|
||||
{
|
||||
nsCOMPtr <nsIMsgDBHdr> dummyHeader;
|
||||
headerSink->GetDummyMsgHeader(getter_AddRefs(dummyHeader));
|
||||
- if (dummyHeader)
|
||||
- {
|
||||
+ if (dummyHeader && loadingFromFile)
|
||||
dummyHeader->SetMessageSize((PRUint32) fileSize);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
nsCOMPtr<nsIDocShellLoadInfo> loadInfo;
|
||||
rv = mDocShell->CreateLoadInfo(getter_AddRefs(loadInfo));
|
||||
@@ -1386,17 +1394,17 @@ nsMessenger::MessageServiceFromURI(const
|
||||
NS_IMETHODIMP
|
||||
nsMessenger::MsgHdrFromURI(const char *aUri, nsIMsgDBHdr **aMsgHdr)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(aUri);
|
||||
NS_ENSURE_ARG_POINTER(aMsgHdr);
|
||||
nsCOMPtr <nsIMsgMessageService> msgService;
|
||||
nsresult rv;
|
||||
|
||||
- if (!strncmp(aUri, "file:", 5))
|
||||
+ if (!strncmp(aUri, "file:", 5) || PL_strstr(aUri, "type=application/x-message-display"))
|
||||
{
|
||||
nsCOMPtr <nsIMsgHeaderSink> headerSink;
|
||||
mMsgWindow->GetMsgHeaderSink(getter_AddRefs(headerSink));
|
||||
if (headerSink)
|
||||
{
|
||||
rv = headerSink->GetDummyMsgHeader(aMsgHdr);
|
||||
// Is there a way to check if they're asking for the hdr currently
|
||||
// displayed in a stand-alone msg window from a .eml file?
|
||||
Index: base/src/nsMsgCopyService.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mailnews/base/src/nsMsgCopyService.cpp,v
|
||||
retrieving revision 1.51
|
||||
diff -u -w -p -8 -r1.51 nsMsgCopyService.cpp
|
||||
--- base/src/nsMsgCopyService.cpp 8 Aug 2005 20:36:39 -0000 1.51
|
||||
+++ mailnews/base/src/nsMsgCopyService.cpp 21 Oct 2005 15:51:27 -0000
|
||||
@@ -549,23 +549,20 @@ nsMsgCopyService::CopyFileMessage(nsIFil
|
||||
PRUint32 aMsgFlags,
|
||||
nsIMsgCopyServiceListener* listener,
|
||||
nsIMsgWindow* window)
|
||||
{
|
||||
nsresult rv = NS_ERROR_NULL_POINTER;
|
||||
nsCopyRequest* copyRequest;
|
||||
nsCopySource* copySource = nsnull;
|
||||
nsCOMPtr<nsISupports> fileSupport;
|
||||
- nsCOMPtr<nsITransactionManager> txnMgr;
|
||||
|
||||
NS_ENSURE_ARG_POINTER(fileSpec);
|
||||
NS_ENSURE_ARG_POINTER(dstFolder);
|
||||
|
||||
- if (window)
|
||||
- window->GetTransactionManager(getter_AddRefs(txnMgr));
|
||||
copyRequest = new nsCopyRequest();
|
||||
if (!copyRequest) return rv;
|
||||
fileSupport = do_QueryInterface(fileSpec, &rv);
|
||||
if (NS_FAILED(rv)) goto done;
|
||||
|
||||
rv = copyRequest->Init(nsCopyFileMessageType, fileSupport, dstFolder,
|
||||
isDraft, aMsgFlags, listener, window, PR_FALSE);
|
||||
if (NS_FAILED(rv)) goto done;
|
||||
Index: base/src/nsMsgDBView.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mailnews/base/src/nsMsgDBView.cpp,v
|
||||
retrieving revision 1.226
|
||||
diff -u -w -p -8 -r1.226 nsMsgDBView.cpp
|
||||
--- base/src/nsMsgDBView.cpp 20 Oct 2005 16:03:26 -0000 1.226
|
||||
+++ mailnews/base/src/nsMsgDBView.cpp 21 Oct 2005 15:51:35 -0000
|
||||
@@ -974,17 +974,18 @@ NS_IMETHODIMP nsMsgDBView::ReloadMessage
|
||||
{
|
||||
if (m_currentlyDisplayedMsgUri.IsEmpty())
|
||||
return NS_ERROR_FAILURE;
|
||||
|
||||
if (mSuppressMsgDisplay)
|
||||
return NS_OK;
|
||||
|
||||
nsCAutoString forceAllParts(m_currentlyDisplayedMsgUri);
|
||||
- forceAllParts.AppendLiteral("?fetchCompleteMessage=true");
|
||||
+ forceAllParts += (forceAllParts.FindChar('?') == kNotFound) ? "?" : "&";
|
||||
+ forceAllParts.AppendLiteral("fetchCompleteMessage=true");
|
||||
return mMessengerInstance->OpenURL(forceAllParts.get());
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsMsgDBView::ReloadMessage()
|
||||
{
|
||||
if (m_currentlyDisplayedMsgUri.IsEmpty())
|
||||
return NS_ERROR_FAILURE;
|
||||
|
||||
Index: compose/src/nsMsgAttachmentHandler.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mailnews/compose/src/nsMsgAttachmentHandler.cpp,v
|
||||
retrieving revision 1.117
|
||||
diff -u -w -p -8 -r1.117 nsMsgAttachmentHandler.cpp
|
||||
--- compose/src/nsMsgAttachmentHandler.cpp 21 Apr 2005 18:48:36 -0000 1.117
|
||||
+++ mailnews/compose/src/nsMsgAttachmentHandler.cpp 21 Oct 2005 15:51:47 -0000
|
||||
@@ -555,17 +555,18 @@ nsMsgAttachmentHandler::SnarfMsgAttachme
|
||||
goto done;
|
||||
}
|
||||
|
||||
rv = fetcher->Initialize(localFile, mOutFile, FetcherURLDoneCallback, this);
|
||||
rv = GetMessageServiceFromURI(m_uri, getter_AddRefs(messageService));
|
||||
if (NS_SUCCEEDED(rv) && messageService)
|
||||
{
|
||||
nsCAutoString uri(m_uri);
|
||||
- uri.Append("?fetchCompleteMessage=true");
|
||||
+ uri += (uri.FindChar('?') == kNotFound) ? "?" : "&";
|
||||
+ uri.Append("fetchCompleteMessage=true");
|
||||
nsCOMPtr<nsIStreamListener> strListener;
|
||||
fetcher->QueryInterface(NS_GET_IID(nsIStreamListener), getter_AddRefs(strListener));
|
||||
|
||||
// initialize a new stream converter, that uses the strListener as its input
|
||||
// obtain the input stream listener from the new converter,
|
||||
// and pass the converter's input stream listener to DisplayMessage
|
||||
|
||||
m_mime_parser = do_CreateInstance(NS_MAILNEWS_MIME_STREAM_CONVERTER_CONTRACTID, &rv);
|
||||
Index: compose/src/nsMsgCompose.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mailnews/compose/src/nsMsgCompose.cpp,v
|
||||
retrieving revision 1.471
|
||||
diff -u -w -p -8 -r1.471 nsMsgCompose.cpp
|
||||
--- compose/src/nsMsgCompose.cpp 18 Oct 2005 16:29:37 -0000 1.471
|
||||
+++ mailnews/compose/src/nsMsgCompose.cpp 21 Oct 2005 15:51:54 -0000
|
||||
@@ -1468,19 +1468,31 @@ nsresult nsMsgCompose::CreateMessage(con
|
||||
// strip out ?type=application/x-message-display because it confuses libmime
|
||||
PRInt32 typeIndex = msgUri.Find("?type=application/x-message-display");
|
||||
if (typeIndex != kNotFound)
|
||||
{
|
||||
msgUri.Cut(typeIndex, sizeof("?type=application/x-message-display") - 1);
|
||||
// we also need to replace the next '&' with '?'
|
||||
if (msgUri.CharAt(typeIndex) == '&')
|
||||
msgUri.SetCharAt('?', typeIndex);
|
||||
+ originalMsgURI = msgUri.get();
|
||||
+ }
|
||||
}
|
||||
+ else // check if we're dealing with a displayed message/rfc822 attachment
|
||||
+ {
|
||||
+ PRInt32 typeIndex = typeIndex = msgUri.Find("&type=application/x-message-display");
|
||||
+ if (typeIndex != kNotFound)
|
||||
+ {
|
||||
+ msgUri.Cut(typeIndex, sizeof("&type=application/x-message-display") - 1);
|
||||
+ // nsURLFetcher will check for "realtype=message/rfc822" and will set the
|
||||
+ // content type to message/rfc822 in the forwarded message.
|
||||
+ msgUri.Append("&realtype=message/rfc822");
|
||||
originalMsgURI = msgUri.get();
|
||||
}
|
||||
+ }
|
||||
if (compFields)
|
||||
{
|
||||
NS_IF_RELEASE(m_compFields);
|
||||
m_compFields = NS_REINTERPRET_CAST(nsMsgCompFields*, compFields);
|
||||
NS_ADDREF(m_compFields);
|
||||
}
|
||||
else
|
||||
{
|
||||
Index: compose/src/nsMsgComposeService.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mailnews/compose/src/nsMsgComposeService.cpp,v
|
||||
retrieving revision 1.113
|
||||
diff -u -w -p -8 -r1.113 nsMsgComposeService.cpp
|
||||
--- compose/src/nsMsgComposeService.cpp 3 Oct 2005 23:51:05 -0000 1.113
|
||||
+++ mailnews/compose/src/nsMsgComposeService.cpp 21 Oct 2005 15:51:56 -0000
|
||||
@@ -414,17 +414,19 @@ nsMsgComposeService::OpenComposeWindow(c
|
||||
*/
|
||||
if (type == nsIMsgCompType::ForwardInline || type == nsIMsgCompType::Draft || type == nsIMsgCompType::Template
|
||||
|| type == nsIMsgCompType::ReplyWithTemplate)
|
||||
{
|
||||
nsCOMPtr<nsIMsgDraft> pMsgDraft (do_CreateInstance(NS_MSGDRAFT_CONTRACTID, &rv));
|
||||
if (NS_SUCCEEDED(rv) && pMsgDraft)
|
||||
{
|
||||
nsCAutoString uriToOpen(originalMsgURI);
|
||||
- uriToOpen.Append("?fetchCompleteMessage=true");
|
||||
+
|
||||
+ uriToOpen += (uriToOpen.FindChar('?') == kNotFound) ? "?" : "&";
|
||||
+ uriToOpen.Append("fetchCompleteMessage=true");
|
||||
|
||||
switch(type)
|
||||
{
|
||||
case nsIMsgCompType::ForwardInline:
|
||||
rv = pMsgDraft->OpenDraftMsg(uriToOpen.get(), originalMsgURI, identity, PR_TRUE, aMsgWindow);
|
||||
break;
|
||||
case nsIMsgCompType::Draft:
|
||||
rv = pMsgDraft->OpenDraftMsg(uriToOpen.get(), nsnull, identity, PR_FALSE, aMsgWindow);
|
||||
@@ -470,22 +472,22 @@ nsMsgComposeService::OpenComposeWindow(c
|
||||
esc_FileBaseName|esc_Forced|esc_AlwaysCopy,
|
||||
unescapedName);
|
||||
pMsgCompFields->SetNewsgroups(NS_ConvertUTF8toUTF16(unescapedName));
|
||||
pMsgCompFields->SetNewshost(host.get());
|
||||
}
|
||||
else
|
||||
{
|
||||
pMsgComposeParams->SetOriginalMsgURI(originalMsgURI);
|
||||
- if (PL_strstr(originalMsgURI, "?type=application/x-message-display"))
|
||||
+ if (PL_strstr(originalMsgURI, "type=application/x-message-display"))
|
||||
{
|
||||
nsCOMPtr <nsIMsgDBHdr> msgHdr;
|
||||
if (strncmp(originalMsgURI, "file:", 5))
|
||||
rv = GetMsgDBHdrFromURI(originalMsgURI, getter_AddRefs(msgHdr));
|
||||
- else if (aMsgWindow)
|
||||
+ if (aMsgWindow && !msgHdr)
|
||||
{
|
||||
nsCOMPtr <nsIMsgHeaderSink> headerSink;
|
||||
rv = aMsgWindow->GetMsgHeaderSink(getter_AddRefs(headerSink));
|
||||
if (headerSink)
|
||||
rv = headerSink->GetDummyMsgHeader(getter_AddRefs(msgHdr));
|
||||
}
|
||||
pMsgComposeParams->SetOrigMsgHdr(msgHdr);
|
||||
}
|
||||
Index: compose/src/nsMsgCreate.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mailnews/compose/src/nsMsgCreate.cpp,v
|
||||
retrieving revision 1.60
|
||||
diff -u -w -p -8 -r1.60 nsMsgCreate.cpp
|
||||
--- compose/src/nsMsgCreate.cpp 16 Sep 2005 15:18:33 -0000 1.60
|
||||
+++ mailnews/compose/src/nsMsgCreate.cpp 21 Oct 2005 15:51:57 -0000
|
||||
@@ -144,19 +144,19 @@ nsMsgDraft::ProcessDraftOrTemplateOperat
|
||||
printf("Unable to get the nsIStreamListener interface from libmime\n");
|
||||
#endif
|
||||
return NS_ERROR_UNEXPECTED;
|
||||
}
|
||||
|
||||
nsCOMPtr<nsIURI> aURL;
|
||||
nsCAutoString uriString(msgURI);
|
||||
PRBool fileUrl = StringBeginsWith(uriString, NS_LITERAL_CSTRING("file:"));
|
||||
+ PRBool forwardedMessage = PL_strstr(msgURI, "&type=application/x-message-display") != nsnull;
|
||||
|
||||
-
|
||||
- if (fileUrl)
|
||||
+ if (fileUrl || forwardedMessage)
|
||||
rv = NS_NewURI(getter_AddRefs(aURL), msgURI);
|
||||
else
|
||||
rv = mMessageService->GetUrlForUri(mURI, getter_AddRefs(aURL), aMsgWindow);
|
||||
if (aURL)
|
||||
aURL->SetSpec(nsDependentCString(mURI));
|
||||
|
||||
// if we are forwarding a message and that message used a charset over ride
|
||||
// then use that over ride charset instead of the charset specified in the message
|
||||
Index: compose/src/nsMsgQuote.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mailnews/compose/src/nsMsgQuote.cpp,v
|
||||
retrieving revision 1.71
|
||||
diff -u -w -p -8 -r1.71 nsMsgQuote.cpp
|
||||
--- compose/src/nsMsgQuote.cpp 16 Sep 2005 15:18:33 -0000 1.71
|
||||
+++ mailnews/compose/src/nsMsgQuote.cpp 21 Oct 2005 15:51:58 -0000
|
||||
@@ -170,19 +170,19 @@ nsMsgQuote::QuoteMessage(const char *msg
|
||||
if (!msgURI)
|
||||
return NS_ERROR_INVALID_ARG;
|
||||
|
||||
mQuoteHeaders = quoteHeaders;
|
||||
mStreamListener = aQuoteMsgStreamListener;
|
||||
|
||||
nsCAutoString msgUri(msgURI);
|
||||
PRBool fileUrl = !strncmp(msgURI, "file:", 5);
|
||||
-
|
||||
+ PRBool forwardedMessage = PL_strstr(msgURI, "&realtype=message/rfc822") != nsnull;
|
||||
nsCOMPtr<nsIURI> aURL;
|
||||
- if (fileUrl)
|
||||
+ if (fileUrl || forwardedMessage)
|
||||
rv = NS_NewURI(getter_AddRefs(aURL), msgURI);
|
||||
else
|
||||
{
|
||||
nsCOMPtr <nsIMsgMessageService> msgService;
|
||||
rv = GetMessageServiceFromURI(msgURI, getter_AddRefs(msgService));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
rv = msgService->GetUrlForUri(msgURI, getter_AddRefs(aURL), nsnull);
|
||||
}
|
||||
Index: compose/src/nsURLFetcher.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mailnews/compose/src/nsURLFetcher.cpp,v
|
||||
retrieving revision 1.72
|
||||
diff -u -w -p -8 -r1.72 nsURLFetcher.cpp
|
||||
--- compose/src/nsURLFetcher.cpp 13 Jun 2005 18:10:20 -0000 1.72
|
||||
+++ mailnews/compose/src/nsURLFetcher.cpp 21 Oct 2005 15:51:58 -0000
|
||||
@@ -484,26 +484,33 @@ NS_IMETHODIMP nsURLFetcherStreamConsumer
|
||||
{
|
||||
if (!mURLFetcher)
|
||||
return NS_ERROR_FAILURE;
|
||||
|
||||
// Check the content type!
|
||||
nsCAutoString contentType;
|
||||
nsCAutoString charset;
|
||||
|
||||
- nsCOMPtr<nsIChannel> aChannel = do_QueryInterface(aRequest);
|
||||
- if(!aChannel) return NS_ERROR_FAILURE;
|
||||
+ nsCOMPtr<nsIChannel> channel = do_QueryInterface(aRequest);
|
||||
+ if(!channel) return NS_ERROR_FAILURE;
|
||||
|
||||
- if (NS_SUCCEEDED(aChannel->GetContentType(contentType)) &&
|
||||
+ if (NS_SUCCEEDED(channel->GetContentType(contentType)) &&
|
||||
!contentType.EqualsLiteral(UNKNOWN_CONTENT_TYPE))
|
||||
{
|
||||
+ nsCAutoString uriSpec;
|
||||
+ nsCOMPtr <nsIURI> channelURI;
|
||||
+ channel->GetURI(getter_AddRefs(channelURI));
|
||||
+ channelURI->GetSpec(uriSpec);
|
||||
+ if (FindInReadable(NS_LITERAL_CSTRING("&realtype=message/rfc822"), uriSpec))
|
||||
+ mURLFetcher->mContentType = MESSAGE_RFC822;
|
||||
+ else
|
||||
mURLFetcher->mContentType = contentType;
|
||||
}
|
||||
|
||||
- if (NS_SUCCEEDED(aChannel->GetContentCharset(charset)) && !charset.IsEmpty())
|
||||
+ if (NS_SUCCEEDED(channel->GetContentCharset(charset)) && !charset.IsEmpty())
|
||||
{
|
||||
mURLFetcher->mCharset = charset;
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
/** nsIStreamListener methods **/
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mailnews/imap/src/nsImapService.cpp,v
|
||||
retrieving revision 1.309
|
||||
diff -u -w -p -8 -r1.309 nsImapService.cpp
|
||||
--- imap/src/nsImapService.cpp 22 Mar 2005 18:25:33 -0000 1.309
|
||||
+++ mailnews/imap/src/nsImapService.cpp 21 Oct 2005 15:52:23 -0000
|
||||
@@ -95,16 +95,17 @@
|
||||
#include "nsIDOMWindowInternal.h"
|
||||
#include "nsIMessengerWindowService.h"
|
||||
#include "nsIWindowMediator.h"
|
||||
#include "nsIPrompt.h"
|
||||
#include "nsIWindowWatcher.h"
|
||||
#include "nsImapProtocol.h"
|
||||
#include "nsIMsgMailSession.h"
|
||||
#include "nsIStreamConverterService.h"
|
||||
+#include "nsNetUtil.h"
|
||||
#include "nsInt64.h"
|
||||
|
||||
#define PREF_MAIL_ROOT_IMAP "mail.root.imap" // old - for backward compatibility only
|
||||
#define PREF_MAIL_ROOT_IMAP_REL "mail.root.imap-rel"
|
||||
|
||||
static NS_DEFINE_CID(kEventQueueServiceCID, NS_EVENTQUEUESERVICE_CID);
|
||||
static NS_DEFINE_CID(kImapUrlCID, NS_IMAPURL_CID);
|
||||
static NS_DEFINE_CID(kCacheServiceCID, NS_CACHESERVICE_CID);
|
||||
@@ -308,16 +309,20 @@ nsImapService::LiteSelectFolder(nsIEvent
|
||||
|
||||
return rv;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsImapService::GetUrlForUri(const char *aMessageURI, nsIURI **aURL, nsIMsgWindow *aMsgWindow)
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
|
||||
+ if (PL_strstr(aMessageURI, "&type=application/x-message-display"))
|
||||
+ return NS_NewURI(aURL, aMessageURI);
|
||||
+
|
||||
+
|
||||
nsCOMPtr<nsIMsgFolder> folder;
|
||||
nsXPIDLCString msgKey;
|
||||
rv = DecomposeImapURI(aMessageURI, getter_AddRefs(folder), getter_Copies(msgKey));
|
||||
if (NS_SUCCEEDED(rv))
|
||||
{
|
||||
nsCOMPtr<nsIImapUrl> imapUrl;
|
||||
nsCAutoString urlSpec;
|
||||
PRUnichar hierarchySeparator = GetHierarchyDelimiter(folder);
|
||||
@@ -477,17 +482,47 @@ NS_IMETHODIMP nsImapService::DisplayMess
|
||||
nsIURI ** aURL)
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
nsCOMPtr<nsIMsgFolder> folder;
|
||||
nsXPIDLCString msgKey;
|
||||
nsXPIDLCString mimePart;
|
||||
nsCAutoString folderURI;
|
||||
nsMsgKey key;
|
||||
+ nsCAutoString messageURI(aMessageURI);
|
||||
|
||||
+ PRInt32 typeIndex = messageURI.Find("&type=application/x-message-display");
|
||||
+ if (typeIndex != kNotFound)
|
||||
+ {
|
||||
+ // This happens with forward inline of a message/rfc822 attachment opened in
|
||||
+ // a standalone msg window.
|
||||
+ // So, just cut to the chase and call AsyncOpen on a channel.
|
||||
+ nsCOMPtr <nsIURI> uri;
|
||||
+ messageURI.Cut(typeIndex, sizeof("&type=application/x-message-display") - 1);
|
||||
+ rv = NS_NewURI(getter_AddRefs(uri), messageURI.get());
|
||||
+ NS_ENSURE_SUCCESS(rv, rv);
|
||||
+ if (aURL)
|
||||
+ NS_IF_ADDREF(*aURL = uri);
|
||||
+ nsCOMPtr<nsIStreamListener> aStreamListener = do_QueryInterface(aDisplayConsumer, &rv);
|
||||
+ if (NS_SUCCEEDED(rv) && aStreamListener)
|
||||
+ {
|
||||
+ nsCOMPtr<nsIChannel> aChannel;
|
||||
+ nsCOMPtr<nsILoadGroup> aLoadGroup;
|
||||
+ nsCOMPtr<nsIMsgMailNewsUrl> mailnewsUrl = do_QueryInterface(uri, &rv);
|
||||
+ if (NS_SUCCEEDED(rv) && mailnewsUrl)
|
||||
+ mailnewsUrl->GetLoadGroup(getter_AddRefs(aLoadGroup));
|
||||
+
|
||||
+ rv = NewChannel(uri, getter_AddRefs(aChannel));
|
||||
+ if (NS_FAILED(rv)) return rv;
|
||||
+
|
||||
+ nsCOMPtr<nsISupports> aCtxt = do_QueryInterface(uri);
|
||||
+ // now try to open the channel passing in our display consumer as the listener
|
||||
+ return aChannel->AsyncOpen(aStreamListener, aCtxt);
|
||||
+ }
|
||||
+ }
|
||||
rv = DecomposeImapURI(aMessageURI, getter_AddRefs(folder), getter_Copies(msgKey));
|
||||
if (msgKey.IsEmpty())
|
||||
return NS_MSG_MESSAGE_NOT_FOUND;
|
||||
rv = nsParseImapMessageURI(aMessageURI, folderURI, &key, getter_Copies(mimePart));
|
||||
if (NS_SUCCEEDED(rv))
|
||||
{
|
||||
nsCOMPtr<nsIImapMessageSink> imapMessageSink(do_QueryInterface(folder, &rv));
|
||||
if (NS_SUCCEEDED(rv))
|
||||
Index: local/src/nsMailboxProtocol.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mailnews/local/src/nsMailboxProtocol.cpp,v
|
||||
retrieving revision 1.122
|
||||
diff -u -w -p -8 -r1.122 nsMailboxProtocol.cpp
|
||||
--- local/src/nsMailboxProtocol.cpp 1 Jun 2005 19:04:20 -0000 1.122
|
||||
+++ mailnews/local/src/nsMailboxProtocol.cpp 21 Oct 2005 15:52:26 -0000
|
||||
@@ -456,16 +456,18 @@ nsresult nsMailboxProtocol::LoadUrl(nsIU
|
||||
m_runningUrl = do_QueryInterface(aURL);
|
||||
if (m_runningUrl)
|
||||
{
|
||||
// find out from the url what action we are supposed to perform...
|
||||
rv = m_runningUrl->GetMailboxAction(&m_mailboxAction);
|
||||
|
||||
PRBool convertData = PR_FALSE;
|
||||
|
||||
+ // need to check if we're fetching an rfc822 part in order to
|
||||
+ // quote a message.
|
||||
if (m_mailboxAction == nsIMailboxUrl::ActionFetchMessage)
|
||||
{
|
||||
nsCOMPtr<nsIMsgMailNewsUrl> msgUrl = do_QueryInterface(m_runningUrl, &rv);
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
|
||||
nsCAutoString queryStr;
|
||||
rv = msgUrl->GetQuery(queryStr);
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
Index: local/src/nsMailboxService.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mailnews/local/src/nsMailboxService.cpp,v
|
||||
retrieving revision 1.116
|
||||
diff -u -w -p -8 -r1.116 nsMailboxService.cpp
|
||||
--- local/src/nsMailboxService.cpp 16 Sep 2005 15:19:09 -0000 1.116
|
||||
+++ mailnews/local/src/nsMailboxService.cpp 21 Oct 2005 15:52:27 -0000
|
||||
@@ -177,16 +177,19 @@ nsresult nsMailboxService::FetchMessage(
|
||||
nsIURI ** aURL)
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
nsCOMPtr<nsIMailboxUrl> mailboxurl;
|
||||
|
||||
nsMailboxAction actionToUse = mailboxAction;
|
||||
|
||||
nsCOMPtr <nsIURI> url;
|
||||
+
|
||||
+ nsCAutoString uriString(aMessageURI);
|
||||
+
|
||||
if (!strncmp(aMessageURI, "file:", 5))
|
||||
{
|
||||
PRInt64 fileSize;
|
||||
nsCOMPtr<nsIURI> fileUri;
|
||||
rv = NS_NewURI(getter_AddRefs(fileUri), aMessageURI);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
nsCOMPtr <nsIFileURL> fileUrl = do_QueryInterface(fileUri, &rv);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
@@ -216,16 +219,27 @@ nsresult nsMailboxService::FetchMessage(
|
||||
headerSink->GetDummyMsgHeader(getter_AddRefs(dummyHeader));
|
||||
if (dummyHeader)
|
||||
dummyHeader->SetMessageSize((PRUint32) fileSize);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
+
|
||||
+ // this happens with forward inline of message/rfc822 attachment
|
||||
+ // opened in a stand-alone msg window.
|
||||
+ PRInt32 typeIndex = typeIndex = uriString.Find("&type=application/x-message-display");
|
||||
+ if (typeIndex != kNotFound)
|
||||
+ {
|
||||
+ uriString.Cut(typeIndex, sizeof("&type=application/x-message-display") - 1);
|
||||
+ rv = NS_NewURI(getter_AddRefs(url), uriString.get());
|
||||
+ mailboxurl = do_QueryInterface(url);
|
||||
+ }
|
||||
+ else
|
||||
rv = PrepareMessageUrl(aMessageURI, aUrlListener, actionToUse , getter_AddRefs(mailboxurl), aMsgWindow);
|
||||
|
||||
if (NS_SUCCEEDED(rv))
|
||||
{
|
||||
url = do_QueryInterface(mailboxurl);
|
||||
nsCOMPtr<nsIMsgMailNewsUrl> msgUrl (do_QueryInterface(url));
|
||||
msgUrl->SetMsgWindow(aMsgWindow);
|
||||
nsCOMPtr<nsIMsgI18NUrl> i18nurl (do_QueryInterface(msgUrl));
|
||||
@@ -313,27 +327,16 @@ NS_IMETHODIMP nsMailboxService::OpenAtta
|
||||
const char *aUrl,
|
||||
const char *aMessageUri,
|
||||
nsISupports *aDisplayConsumer,
|
||||
nsIMsgWindow *aMsgWindow,
|
||||
nsIUrlListener *aUrlListener)
|
||||
{
|
||||
nsCOMPtr <nsIURI> URL;
|
||||
nsCAutoString urlString(aUrl);
|
||||
- // strip out ?type=application/x-message-display because it confuses libmime
|
||||
-
|
||||
- PRInt32 typeIndex = urlString.Find("?type=application/x-message-display");
|
||||
- if (typeIndex != kNotFound)
|
||||
- {
|
||||
- urlString.Cut(typeIndex, sizeof("?type=application/x-message-display") - 1);
|
||||
- // we also need to replace the next '&' with '?'
|
||||
- PRInt32 firstPartIndex = urlString.FindChar('&');
|
||||
- if (firstPartIndex != kNotFound)
|
||||
- urlString.SetCharAt('?', firstPartIndex);
|
||||
- }
|
||||
urlString += "&type=";
|
||||
urlString += aContentType;
|
||||
urlString += "&filename=";
|
||||
urlString += aFileName;
|
||||
CreateStartupUrl(urlString.get(), getter_AddRefs(URL));
|
||||
nsresult rv;
|
||||
// try to run the url in the docshell...
|
||||
nsCOMPtr<nsIDocShell> docShell(do_QueryInterface(aDisplayConsumer, &rv));
|
||||
@@ -384,17 +387,18 @@ nsMailboxService::SaveMessageToDisk(cons
|
||||
if (aURL)
|
||||
mailboxurl->QueryInterface(NS_GET_IID(nsIURI), (void **) aURL);
|
||||
|
||||
return rv;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsMailboxService::GetUrlForUri(const char *aMessageURI, nsIURI **aURL, nsIMsgWindow *aMsgWindow)
|
||||
{
|
||||
- if (!strncmp(aMessageURI, "file:", 5))
|
||||
+ if (!strncmp(aMessageURI, "file:", 5) || PL_strstr(aMessageURI, "type=application/x-message-display")
|
||||
+ || !strncmp(aMessageURI, "mailbox:", 8))
|
||||
return NS_NewURI(aURL, aMessageURI);
|
||||
|
||||
nsresult rv = NS_OK;
|
||||
nsCOMPtr<nsIMailboxUrl> mailboxurl;
|
||||
rv = PrepareMessageUrl(aMessageURI, nsnull, nsIMailboxUrl::ActionFetchMessage, getter_AddRefs(mailboxurl), aMsgWindow);
|
||||
if (NS_SUCCEEDED(rv) && mailboxurl)
|
||||
rv = mailboxurl->QueryInterface(NS_GET_IID(nsIURI), (void **) aURL);
|
||||
return rv;
|
||||
Index: local/src/nsPop3Sink.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mailnews/local/src/nsPop3Sink.cpp,v
|
||||
retrieving revision 1.127
|
||||
diff -u -w -p -8 -r1.127 nsPop3Sink.cpp
|
||||
--- local/src/nsPop3Sink.cpp 7 Aug 2005 15:43:53 -0000 1.127
|
||||
+++ mailnews/local/src/nsPop3Sink.cpp 21 Oct 2005 15:52:28 -0000
|
||||
@@ -803,17 +803,16 @@ nsPop3Sink::IncorporateComplete(nsIMsgWi
|
||||
m_outFileStream->flush();
|
||||
m_outFileStream->close();
|
||||
m_newMailParser->FinishHeader();
|
||||
// need to re-open the inbox file stream.
|
||||
if (!m_tmpDownloadFileSpec.Exists())
|
||||
return HandleTempDownloadFailed(aMsgWindow);
|
||||
|
||||
m_outFileStream->Open(m_tmpDownloadFileSpec, (PR_RDWR | PR_CREATE_FILE));
|
||||
-
|
||||
m_newMailParser->ApplyFilters(&moved, aMsgWindow, 0);
|
||||
if (!moved)
|
||||
{
|
||||
if (m_outFileStream->is_open())
|
||||
{
|
||||
nsFileSpec destFolderSpec;
|
||||
|
||||
nsCOMPtr<nsIFileSpec> path;
|
||||
Index: mime/src/mimedrft.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mailnews/mime/src/mimedrft.cpp,v
|
||||
retrieving revision 1.142
|
||||
diff -u -w -p -8 -r1.142 mimedrft.cpp
|
||||
--- mime/src/mimedrft.cpp 20 Jul 2005 11:49:43 -0000 1.142
|
||||
+++ mailnews/mime/src/mimedrft.cpp 21 Oct 2005 15:52:38 -0000
|
||||
@@ -2077,16 +2077,20 @@ mime_bridge_create_draft_stream(
|
||||
goto FAIL;
|
||||
|
||||
rv = msgService->GetUrlForUri(turl.get(), getter_AddRefs(aURL), nsnull);
|
||||
if (NS_FAILED(rv))
|
||||
goto FAIL;
|
||||
|
||||
if (NS_SUCCEEDED(aURL->GetSpec(urlString)))
|
||||
{
|
||||
+ PRInt32 typeIndex = urlString.Find("&type=application/x-message-display");
|
||||
+ if (typeIndex != kNotFound)
|
||||
+ urlString.Cut(typeIndex, sizeof("&type=application/x-message-display") - 1);
|
||||
+
|
||||
mdd->url_name = ToNewCString(urlString);
|
||||
if (!(mdd->url_name))
|
||||
goto FAIL;
|
||||
}
|
||||
|
||||
newPluginObj2->GetForwardInline(&mdd->forwardInline);
|
||||
newPluginObj2->GetIdentity(getter_AddRefs(mdd->identity));
|
||||
newPluginObj2->GetOriginalMsgURI(&mdd->originalMsgURI);
|
||||
Index: mime/src/mimei.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mailnews/mime/src/mimei.cpp,v
|
||||
retrieving revision 1.77
|
||||
diff -u -w -p -8 -r1.77 mimei.cpp
|
||||
--- mime/src/mimei.cpp 13 Jun 2005 18:34:05 -0000 1.77
|
||||
+++ mailnews/mime/src/mimei.cpp 21 Oct 2005 15:52:41 -0000
|
||||
@@ -1367,16 +1367,26 @@ mime_set_url_part(const char *url, const
|
||||
const char *part_begin = 0;
|
||||
const char *part_end = 0;
|
||||
PRBool got_q = PR_FALSE;
|
||||
const char *s;
|
||||
char *result;
|
||||
|
||||
if (!url || !part) return 0;
|
||||
|
||||
+ nsCAutoString urlString(url);
|
||||
+ PRInt32 typeIndex = urlString.Find("?type=application/x-message-display");
|
||||
+ if (typeIndex != kNotFound)
|
||||
+ {
|
||||
+ urlString.Cut(typeIndex, sizeof("?type=application/x-message-display") - 1);
|
||||
+ if (urlString.CharAt(typeIndex) == '&')
|
||||
+ urlString.SetCharAt('?', typeIndex);
|
||||
+ url = urlString.get();
|
||||
+ }
|
||||
+
|
||||
for (s = url; *s; s++)
|
||||
{
|
||||
if (*s == '?')
|
||||
{
|
||||
got_q = PR_TRUE;
|
||||
if (!nsCRT::strncasecmp(s, "?part=", 6))
|
||||
part_begin = (s += 6);
|
||||
}
|
||||
@@ -1665,34 +1675,32 @@ mime_parse_url_options(const char *url,
|
||||
options->headers = MimeHeadersMicro;
|
||||
else if (end > value && !nsCRT::strncasecmp ("cite", value, end - value))
|
||||
options->headers = MimeHeadersCitation;
|
||||
else if (end > value && !nsCRT::strncasecmp ("citation", value, end-value))
|
||||
options->headers = MimeHeadersCitation;
|
||||
else
|
||||
options->headers = default_headers;
|
||||
}
|
||||
- else if (!nsCRT::strncasecmp ("part", q, name_end - q))
|
||||
+ else if (!nsCRT::strncasecmp ("part", q, name_end - q) &&
|
||||
+ options->format_out != nsMimeOutput::nsMimeMessageBodyQuoting)
|
||||
{
|
||||
PR_FREEIF (options->part_to_load);
|
||||
if (end > value)
|
||||
{
|
||||
options->part_to_load = (char *) PR_MALLOC(end - value + 1);
|
||||
if (!options->part_to_load)
|
||||
return MIME_OUT_OF_MEMORY;
|
||||
memcpy(options->part_to_load, value, end-value);
|
||||
options->part_to_load[end-value] = 0;
|
||||
}
|
||||
}
|
||||
else if (!nsCRT::strncasecmp ("rot13", q, name_end - q))
|
||||
{
|
||||
- if (end <= value || !nsCRT::strncasecmp ("true", value, end - value))
|
||||
- options->rot13_p = PR_TRUE;
|
||||
- else
|
||||
- options->rot13_p = PR_FALSE;
|
||||
+ options->rot13_p = end <= value || !nsCRT::strncasecmp ("true", value, end - value);
|
||||
}
|
||||
|
||||
q = end;
|
||||
if (*q)
|
||||
q++;
|
||||
}
|
||||
|
||||
|
||||
@@ -1751,16 +1759,17 @@ mime_parse_url_options(const char *url,
|
||||
and leaves them incompatible for:
|
||||
|
||||
= the first part of a top-level multipart
|
||||
= all elements deeper than the outermost part
|
||||
|
||||
Life s#$%s when you don't properly think out things that end up turning
|
||||
into de-facto standards...
|
||||
*/
|
||||
+
|
||||
if (options->part_to_load &&
|
||||
!PL_strchr(options->part_to_load, '.')) /* doesn't contain a dot */
|
||||
{
|
||||
if (!nsCRT::strcmp(options->part_to_load, "0")) /* 0 */
|
||||
{
|
||||
PR_Free(options->part_to_load);
|
||||
options->part_to_load = nsCRT::strdup("1");
|
||||
if (!options->part_to_load)
|
||||
@@ -1774,17 +1783,16 @@ mime_parse_url_options(const char *url,
|
||||
if (!s) return MIME_OUT_OF_MEMORY;
|
||||
PL_strcpy(s, prefix);
|
||||
PL_strcat(s, options->part_to_load);
|
||||
PR_Free(options->part_to_load);
|
||||
options->part_to_load = s;
|
||||
}
|
||||
}
|
||||
|
||||
-
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/* Some output-generation utility functions...
|
||||
*/
|
||||
|
||||
int
|
||||
@@ -1949,16 +1957,28 @@ MimeObject_output_init(MimeObject *obj,
|
||||
|
||||
char *
|
||||
mime_get_base_url(const char *url)
|
||||
{
|
||||
if (!url)
|
||||
return nsnull;
|
||||
|
||||
const char *s = strrchr(url, '?');
|
||||
+ if (s && !strncmp(s, "?type=application/x-message-display", sizeof("?type=application/x-message-display") - 1))
|
||||
+ {
|
||||
+ const char *nextTerm = strchr(s, '&');
|
||||
+ s = (nextTerm) ? nextTerm : s + strlen(s) - 1;
|
||||
+ }
|
||||
+ // we need to keep the ?number part of the url, or we won't know
|
||||
+ // which local message the part belongs to.
|
||||
+ if (s && *s && *(s+1) && !strncmp(s + 1, "number=", sizeof("number=") - 1))
|
||||
+ {
|
||||
+ const char *nextTerm = strchr(++s, '&');
|
||||
+ s = (nextTerm) ? nextTerm : s + strlen(s) - 1;
|
||||
+ }
|
||||
char *result = (char *) PR_MALLOC(strlen(url) + 1);
|
||||
NS_ASSERTION(result, "out of memory");
|
||||
if (!result)
|
||||
return nsnull;
|
||||
|
||||
memcpy(result, url, s - url);
|
||||
result[s - url] = 0;
|
||||
return result;
|
||||
Index: mime/src/nsStreamConverter.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mailnews/mime/src/nsStreamConverter.cpp,v
|
||||
retrieving revision 1.128
|
||||
diff -u -w -p -8 -r1.128 nsStreamConverter.cpp
|
||||
--- mime/src/nsStreamConverter.cpp 16 Aug 2005 14:23:00 -0000 1.128
|
||||
+++ mailnews/mime/src/nsStreamConverter.cpp 21 Oct 2005 15:52:42 -0000
|
||||
@@ -403,17 +403,17 @@ nsStreamConverter::DetermineOutputFormat
|
||||
// Don't muck with this data!
|
||||
*aNewType = nsMimeOutput::nsMimeMessageRaw;
|
||||
return NS_OK;
|
||||
}
|
||||
}
|
||||
|
||||
// is this is a part that should just come out raw
|
||||
const char *part = FindQueryElementData(queryPart, "part=");
|
||||
- if (part)
|
||||
+ if (part && !mToType.Equals("application/vnd.mozilla.xul+xml"))
|
||||
{
|
||||
// default for parts
|
||||
mOutputFormat = "raw";
|
||||
*aNewType = nsMimeOutput::nsMimeMessageRaw;
|
||||
|
||||
// if we are being asked to fetch a part....it should have a
|
||||
// content type appended to it...if it does, we want to remember
|
||||
// that as mOutputFormat
|
||||
@@ -1096,16 +1096,19 @@ NS_IMETHODIMP nsStreamConverter::AsyncCo
|
||||
SetMimeHeadersListener(quoteListener, nsMimeOutput::nsMimeMessageQuoting);
|
||||
rv = aMsgQuote->GetQuoteChannel(getter_AddRefs(aChannel));
|
||||
}
|
||||
else
|
||||
{
|
||||
aChannel = do_QueryInterface(aCtxt, &rv);
|
||||
}
|
||||
|
||||
+ mFromType = aFromType;
|
||||
+ mToType = aToType;
|
||||
+
|
||||
NS_ASSERTION(aChannel && NS_SUCCEEDED(rv), "mailnews mime converter has to have the channel passed in...");
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
nsCOMPtr<nsIURI> aUri;
|
||||
aChannel->GetURI(getter_AddRefs(aUri));
|
||||
return Init(aUri, aListener, aChannel);
|
||||
}
|
||||
|
||||
Index: mime/src/nsStreamConverter.h
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mailnews/mime/src/nsStreamConverter.h,v
|
||||
retrieving revision 1.25
|
||||
diff -u -w -p -8 -r1.25 nsStreamConverter.h
|
||||
--- mime/src/nsStreamConverter.h 1 Jun 2004 17:22:01 -0000 1.25
|
||||
+++ mailnews/mime/src/nsStreamConverter.h 21 Oct 2005 15:52:42 -0000
|
||||
@@ -102,16 +102,18 @@ private:
|
||||
nsCString mOverrideFormat; // this is a possible override for emitter creation
|
||||
PRBool mWrapperOutput; // Should we output the frame split message display
|
||||
|
||||
nsCOMPtr<nsIMimeStreamConverterListener> mMimeStreamConverterListener;
|
||||
PRBool mForwardInline;
|
||||
nsCOMPtr<nsIMsgIdentity> mIdentity;
|
||||
nsCString mOriginalMsgURI;
|
||||
|
||||
+ nsCString mFromType;
|
||||
+ nsCString mToType;
|
||||
#ifdef DEBUG_mscott
|
||||
PRTime mConvertContentTime;
|
||||
#endif
|
||||
nsIRequest * mPendingRequest; // used when we need to delay to fire onStartRequest
|
||||
nsISupports * mPendingContext; // used when we need to delay to fire onStartRequest
|
||||
};
|
||||
|
||||
#endif /* nsStreamConverter_h_ */
|
||||
Index: mailWindowOverlay.js
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mail/base/content/mailWindowOverlay.js,v
|
||||
retrieving revision 1.103
|
||||
diff -u -w -p -8 -r1.103 mailWindowOverlay.js
|
||||
--- mailWindowOverlay.js 12 Oct 2005 21:32:51 -0000 1.103
|
||||
+++ mail/base/content/mailWindowOverlay.js 27 Oct 2005 16:46:58 -0000
|
||||
@@ -2391,17 +2391,17 @@ function HandleMDNResponse(aUrl)
|
||||
if (IsNewsMessage(msgURI))
|
||||
return;
|
||||
|
||||
// if the message is marked as junk, do NOT attempt to process a return receipt
|
||||
// in order to better protect the user
|
||||
if (SelectedMessagesAreJunk())
|
||||
return;
|
||||
|
||||
- var msgHdr = messenger.messageServiceFromURI(msgURI).messageURIToMsgHdr(msgURI);
|
||||
+ var msgHdr = messenger.msgHdrFromURI(msgURI);
|
||||
var mimeHdr;
|
||||
|
||||
try {
|
||||
mimeHdr = aUrl.mimeHeaders;
|
||||
} catch (ex) {
|
||||
return;
|
||||
}
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2263ec2c9bf3317472f33bed46b9cb6f91d64a766314167678125b4f3b6376b8
|
||||
size 514823
|
3
enigmail-0.95.0.tar.gz
Normal file
3
enigmail-0.95.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:dc869191953c3d0797f89223a0ad5e8accc009266f1d2ec3adb2f5814ff33b50
|
||||
size 568958
|
@ -1,6 +1,6 @@
|
||||
--- ./layout/base/nsCSSRendering.cpp 2005-12-27 13:52:01.000000000 +0100
|
||||
+++ ./layout/base/nsCSSRendering.cpp.new 2007-01-18 23:40:30.741771000 +0100
|
||||
@@ -979,14 +979,14 @@
|
||||
--- layout/base/nsCSSRendering.cpp.orig 2006-10-25 23:59:19.000000000 +0200
|
||||
+++ layout/base/nsCSSRendering.cpp 2006-10-26 00:00:04.000000000 +0200
|
||||
@@ -1000,14 +1000,14 @@
|
||||
FillOrInvertRect(aContext, dashRect.x, borderOutside.y,dashRect.width, dashRect.height-adjust,isInvert);
|
||||
FillOrInvertRect(aContext,dashRect.x,(borderOutside.YMost()-(dashRect.height-adjust)),dashRect.width, dashRect.height-adjust,isInvert);
|
||||
currRect.y += (dashRect.height-adjust);
|
||||
@ -17,7 +17,7 @@
|
||||
}
|
||||
|
||||
if( temp > ywidth)
|
||||
@@ -1045,14 +1045,14 @@
|
||||
@@ -1066,14 +1066,14 @@
|
||||
FillOrInvertRect(aContext, borderOutside.x,dashRect.y,dashRect.width-adjust,dashRect.height,isInvert);
|
||||
FillOrInvertRect(aContext, (borderOutside.XMost()-(dashRect.width-adjust)),dashRect.y,dashRect.width-adjust,dashRect.height,isInvert);
|
||||
currRect.x += (dashRect.width-adjust);
|
||||
@ -34,43 +34,42 @@
|
||||
}
|
||||
|
||||
|
||||
--- ./layout/xul/base/src/nsBox.cpp 2006-01-07 21:27:40.000000000 +0100
|
||||
+++ ./layout/xul/base/src/nsBox.cpp.new 2007-01-18 23:43:58.695609000 +0100
|
||||
--- layout/xul/base/src/nsBox.cpp.orig 2006-10-26 00:00:26.000000000 +0200
|
||||
+++ layout/xul/base/src/nsBox.cpp 2006-10-26 00:01:30.000000000 +0200
|
||||
@@ -863,7 +863,7 @@
|
||||
while (box) {
|
||||
nsRect* overflowArea = box->GetOverflowAreaProperty();
|
||||
nsRect bounds = overflowArea ? *overflowArea + box->GetPosition() :
|
||||
- bounds = box->GetRect();
|
||||
+ box->GetRect();
|
||||
+ box->GetRect();
|
||||
rect.UnionRect(rect, bounds);
|
||||
|
||||
box->GetNextBox(&box);
|
||||
--- ./mailnews/compose/src/nsMsgCompose.cpp 2007-01-19 00:53:23.575133000 +0100
|
||||
+++ ./mailnews/compose/src/nsMsgCompose.cpp.new 2007-01-19 00:55:33.114466000 +0100
|
||||
@@ -1476,7 +1476,7 @@
|
||||
}
|
||||
else // check if we're dealing with a displayed message/rfc822 attachment
|
||||
{
|
||||
- PRInt32 typeIndex = typeIndex = msgUri.Find("&type=application/x-message-display");
|
||||
+ PRInt32 typeIndex = msgUri.Find("&type=application/x-message-display");
|
||||
if (typeIndex != kNotFound)
|
||||
{
|
||||
msgUri.Cut(typeIndex, sizeof("&type=application/x-message-display") - 1);
|
||||
--- ./intl/unicharutil/src/nsEntityConverter.cpp 2005-04-02 20:44:00.000000000 +0200
|
||||
+++ ./intl/unicharutil/src/nsEntityConverter.cpp.new 2007-01-19 00:14:59.413600000 +0100
|
||||
@@ -236,7 +236,9 @@
|
||||
--- intl/unicharutil/src/nsEntityConverter.cpp.orig 2005-04-02 20:44:00.000000000 +0200
|
||||
+++ intl/unicharutil/src/nsEntityConverter.cpp 2006-10-26 00:07:24.000000000 +0200
|
||||
@@ -236,7 +236,8 @@
|
||||
if (IS_HIGH_SURROGATE(inString[i]) &&
|
||||
i + 2 < len &&
|
||||
IS_LOW_SURROGATE(inString[i + 1])) {
|
||||
- key.AppendInt(SURROGATE_TO_UCS4(inString[i], inString[++i]), 10);
|
||||
+ // key.AppendInt(SURROGATE_TO_UCS4(inString[i], inString[++i]), 10);
|
||||
+ key.AppendInt(SURROGATE_TO_UCS4(inString[i], inString[i + 1]), 10);
|
||||
+ ++i;
|
||||
}
|
||||
else {
|
||||
key.AppendInt(inString[i],10);
|
||||
--- ./netwerk/cache/src/nsDiskCacheMap.h 2006-02-22 04:23:13.000000000 +0100
|
||||
+++ ./netwerk/cache/src/nsDiskCacheMap.h.new 2007-01-19 00:16:52.302599000 +0100
|
||||
--- content/events/src/nsEventStateManager.cpp.orig 2006-08-06 00:19:17.000000000 +0200
|
||||
+++ content/events/src/nsEventStateManager.cpp 2006-10-26 00:11:16.000000000 +0200
|
||||
@@ -4301,7 +4301,7 @@
|
||||
do_QueryInterface(GetDocumentOuterWindow(mDocument));
|
||||
if (newWindow) {
|
||||
nsIFocusController *newFocusController =
|
||||
- newFocusController = newWindow->GetRootFocusController();
|
||||
+ newWindow->GetRootFocusController();
|
||||
nsCOMPtr<nsPIDOMWindow> oldWindow =
|
||||
do_QueryInterface(GetDocumentOuterWindow(gLastFocusedDocument));
|
||||
if (oldWindow) {
|
||||
--- netwerk/cache/src/nsDiskCacheMap.h.orig 2006-02-04 23:01:22.000000000 +0100
|
||||
+++ netwerk/cache/src/nsDiskCacheMap.h 2006-10-26 00:15:09.000000000 +0200
|
||||
@@ -168,7 +168,7 @@
|
||||
|
||||
// set blockCount
|
||||
@ -89,25 +88,3 @@
|
||||
mMetaLocation |= (blockCount << eExtraBlocksOffset) & eExtraBlocksMask;
|
||||
|
||||
mMetaLocation |= eLocationInitializedMask;
|
||||
--- ./mailnews/local/src/nsMailboxService.cpp 2007-01-19 00:53:23.280426000 +0100
|
||||
+++ ./mailnews/local/src/nsMailboxService.cpp.new 2007-01-19 00:56:19.625909000 +0100
|
||||
@@ -228,7 +228,7 @@
|
||||
|
||||
// this happens with forward inline of message/rfc822 attachment
|
||||
// opened in a stand-alone msg window.
|
||||
- PRInt32 typeIndex = typeIndex = uriString.Find("&type=application/x-message-display");
|
||||
+ PRInt32 typeIndex = uriString.Find("&type=application/x-message-display");
|
||||
if (typeIndex != kNotFound)
|
||||
{
|
||||
uriString.Cut(typeIndex, sizeof("&type=application/x-message-display") - 1);
|
||||
--- ./content/events/src/nsEventStateManager.cpp 2006-08-21 19:49:44.000000000 +0200
|
||||
+++ ./content/events/src/nsEventStateManager.cpp.new 2007-01-19 00:31:01.921129000 +0100
|
||||
@@ -4162,7 +4162,7 @@
|
||||
do_QueryInterface(GetDocumentOuterWindow(mDocument));
|
||||
if (newWindow) {
|
||||
nsIFocusController *newFocusController =
|
||||
- newFocusController = newWindow->GetRootFocusController();
|
||||
+ newWindow->GetRootFocusController();
|
||||
nsCOMPtr<nsPIDOMWindow> oldWindow =
|
||||
do_QueryInterface(GetDocumentOuterWindow(gLastFocusedDocument));
|
||||
if (oldWindow) {
|
@ -1,11 +1,11 @@
|
||||
Index: mail/base/content/mailWindowOverlay.js
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mail/base/content/mailWindowOverlay.js,v
|
||||
retrieving revision 1.95.2.7
|
||||
diff -u -p -6 -r1.95.2.7 mailWindowOverlay.js
|
||||
--- mail/base/content/mailWindowOverlay.js 12 Oct 2005 21:31:50 -0000 1.95.2.7
|
||||
+++ mail/base/content/mailWindowOverlay.js 29 Dec 2005 19:28:21 -0000
|
||||
@@ -903,12 +903,19 @@ function MsgNewMessage(event)
|
||||
retrieving revision 1.95.2.55
|
||||
diff -u -p -6 -r1.95.2.55 mailWindowOverlay.js
|
||||
--- mail/base/content/mailWindowOverlay.js 12 Feb 2007 21:07:34 -0000 1.95.2.55
|
||||
+++ mail/base/content/mailWindowOverlay.js 15 Feb 2007 19:46:05 -0000
|
||||
@@ -1064,12 +1064,19 @@ function MsgNewMessage(event)
|
||||
if (event && event.shiftKey)
|
||||
ComposeMessage(msgComposeType.New, msgComposeFormat.OppositeOfDefault, loadedFolder, messageArray);
|
||||
else
|
||||
@ -28,16 +28,16 @@ diff -u -p -6 -r1.95.2.7 mailWindowOverlay.js
|
||||
Index: mail/base/content/mailWindowOverlay.xul
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mail/base/content/mailWindowOverlay.xul,v
|
||||
retrieving revision 1.116.2.8
|
||||
diff -u -p -6 -r1.116.2.8 mailWindowOverlay.xul
|
||||
--- mail/base/content/mailWindowOverlay.xul 24 Oct 2005 04:01:20 -0000 1.116.2.8
|
||||
+++ mail/base/content/mailWindowOverlay.xul 29 Dec 2005 19:34:25 -0000
|
||||
@@ -1399,12 +1399,15 @@
|
||||
retrieving revision 1.116.2.72
|
||||
diff -u -p -6 -r1.116.2.72 mailWindowOverlay.xul
|
||||
--- mail/base/content/mailWindowOverlay.xul 10 Feb 2007 22:56:29 -0000 1.116.2.72
|
||||
+++ mail/base/content/mailWindowOverlay.xul 15 Feb 2007 19:46:55 -0000
|
||||
@@ -1511,12 +1511,15 @@
|
||||
<menu id="messageMenu" label="&msgMenu.label;" accesskey="&msgMenu.accesskey;">
|
||||
<menupopup id="messageMenuPopup" onpopupshowing="InitMessageMenu();">
|
||||
<menuitem id="newMsgCmd" label="&newMsgCmd.label;"
|
||||
accesskey="&newMsgCmd.accesskey;"
|
||||
key="key_newMessage"
|
||||
key="key_newMessage2"
|
||||
oncommand="MsgNewMessage(null);"/>
|
||||
+ <menuitem id="newHtmlMsgCmd" label="New HTML Message"
|
||||
+ accesskey="H"
|
||||
@ -45,6 +45,6 @@ diff -u -p -6 -r1.116.2.8 mailWindowOverlay.xul
|
||||
<menuitem id="replyMainMenu" label="&replyMsgCmd.label;"
|
||||
accesskey="&replyMsgCmd.accesskey;"
|
||||
key="key_reply"
|
||||
observes="cmd_reply"/>
|
||||
command="cmd_reply"/>
|
||||
<menuitem id="replySenderMainMenu" label="&replySenderCmd.label;"
|
||||
accesskey="&replySenderCmd.accesskey;"
|
||||
|
3
l10n-2.0.0.0.tar.bz2
Normal file
3
l10n-2.0.0.0.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3883680f592f9c7d069063a2d639f130d6da69ee168c81b1cbff799812781dc9
|
||||
size 9373784
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b49cbb080c3b8ae19fed8d6da9366c5b970f7cc930cb3fd0aeec6a4f9406d2f9
|
||||
size 5323798
|
@ -13,129 +13,118 @@ diff -u -r3.249 mailnews.js
|
||||
|
||||
// separator to separate between date and author
|
||||
pref("mailnews.reply_header_separator", ", ");
|
||||
--- mailnews/compose/src/nsMsgCompose.cpp.old 2006-08-14 09:32:18.000000000 +0200
|
||||
+++ mailnews/compose/src/nsMsgCompose.cpp 2006-08-14 09:44:25.000000000 +0200
|
||||
@@ -2106,6 +2106,7 @@ NS_IMETHODIMP QuotingOutputStreamListene
|
||||
nsAutoString messageId;
|
||||
nsAutoString references;
|
||||
--- mailnews/compose/src/nsMsgCompose.cpp.old 2007-01-10 10:03:52.000000000 +0100
|
||||
+++ mailnews/compose/src/nsMsgCompose.cpp 2007-01-10 10:09:45.000000000 +0100
|
||||
@@ -2221,6 +2221,7 @@ NS_IMETHODIMP QuotingOutputStreamListene
|
||||
nsAutoString listPost;
|
||||
+ PRBool clobberListReply = PR_FALSE;
|
||||
nsXPIDLCString outCString;
|
||||
PRBool needToRemoveDup = PR_FALSE;
|
||||
+ PRBool clobberListReply = PR_FALSE;
|
||||
if (!mMimeConverter)
|
||||
@@ -2115,6 +2116,77 @@ NS_IMETHODIMP QuotingOutputStreamListene
|
||||
}
|
||||
{
|
||||
mMimeConverter = do_GetService(NS_MIME_CONVERTER_CONTRACTID, &rv);
|
||||
@@ -2229,6 +2230,70 @@ NS_IMETHODIMP QuotingOutputStreamListene
|
||||
nsXPIDLCString charset;
|
||||
compFields->GetCharacterSet(getter_Copies(charset));
|
||||
+
|
||||
+ nsCOMPtr<nsIPrefBranch> prefBranch (do_GetService(NS_PREFSERVICE_CONTRACTID));
|
||||
+ if (prefBranch)
|
||||
|
||||
+ nsCOMPtr<nsIPrefBranch> prefBranch (do_GetService(NS_PREFSERVICE_CONTRACTID));
|
||||
+ if (prefBranch)
|
||||
+ prefBranch->GetBoolPref("mailnews.clobber_list_reply", &clobberListReply);
|
||||
+
|
||||
+ mHeaders->ExtractHeader(HEADER_REPLY_TO, PR_FALSE, getter_Copies(outCString));
|
||||
+ if (outCString)
|
||||
+ mMimeConverter->DecodeMimeHeader(outCString, replyTo, charset);
|
||||
+
|
||||
+ mHeaders->ExtractHeader(HEADER_MAIL_REPLY_TO, PR_TRUE, getter_Copies(outCString));
|
||||
+ if (outCString)
|
||||
+ mMimeConverter->DecodeMimeHeader(outCString, mailReplyTo, charset);
|
||||
+ mHeaders->ExtractHeader(HEADER_REPLY_TO, PR_FALSE, getter_Copies(outCString));
|
||||
+ if (outCString)
|
||||
+ mMimeConverter->DecodeMimeHeader(outCString, replyTo, charset);
|
||||
+
|
||||
+ if (clobberListReply) {
|
||||
+ /* the 'Al fix'. Try to fake up Mail-Reply-To: and Mail-Followup-To: headers if
|
||||
+ * we don't have any, and if it looks like it came via a mailing list.
|
||||
+ *
|
||||
+ * Currently only supports List-Post header.
|
||||
+ */
|
||||
+
|
||||
+ mHeaders->ExtractHeader(HEADER_MAIL_FOLLOWUP_TO, PR_TRUE, getter_Copies(outCString));
|
||||
+ if (outCString)
|
||||
+ mMimeConverter->DecodeMimeHeader(outCString, mailFollowupTo, charset);
|
||||
+
|
||||
+ if (mailFollowupTo.IsEmpty()) {
|
||||
+ nsAutoString mailingList;
|
||||
+
|
||||
+ mHeaders->ExtractHeader(HEADER_LIST_POST, PR_TRUE, getter_Copies(outCString));
|
||||
+ if (outCString)
|
||||
+ mHeaders->ExtractHeader(HEADER_MAIL_REPLY_TO, PR_TRUE, getter_Copies(outCString));
|
||||
+ if (outCString)
|
||||
+ mMimeConverter->DecodeMimeHeader(outCString, mailReplyTo, charset);
|
||||
+
|
||||
+ if (clobberListReply) {
|
||||
+ /* the 'Al fix'. Try to fake up Mail-Reply-To: and
|
||||
+ * Mail-Followup-To: headers if we don't have any, and if it looks
|
||||
+ * like it came via a mailing list.
|
||||
+ *
|
||||
+ * Currently only supports List-Post header.
|
||||
+ */
|
||||
+
|
||||
+ mHeaders->ExtractHeader(HEADER_MAIL_FOLLOWUP_TO, PR_TRUE, getter_Copies(outCString));
|
||||
+ if (outCString)
|
||||
+ mMimeConverter->DecodeMimeHeader(outCString, mailFollowupTo, charset);
|
||||
+
|
||||
+ if (mailFollowupTo.IsEmpty()) {
|
||||
+ nsAutoString mailingList;
|
||||
+
|
||||
+ mHeaders->ExtractHeader(HEADER_LIST_POST, PR_TRUE, getter_Copies(outCString));
|
||||
+ if (outCString)
|
||||
+ {
|
||||
+ mMimeConverter->DecodeMimeHeader(outCString, mailingList, charset);
|
||||
+ /* s/<mailto:(.*)>/$1/; */
|
||||
+ if (StringBeginsWith(mailingList, NS_LITERAL_STRING("<mailto:")) &&
|
||||
+ StringEndsWith(mailingList, NS_LITERAL_STRING(">"))) {
|
||||
+
|
||||
+ mailingList = Substring(mailingList, 8, mailingList.Length() - 9);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ mailFollowupTo = mailingList;
|
||||
+ }
|
||||
+
|
||||
+ if (mailReplyTo.IsEmpty()) {
|
||||
+ nsAutoString from;
|
||||
+ nsAutoString xReplyTo;
|
||||
+
|
||||
+ mHeaders->ExtractHeader(HEADER_FROM, PR_FALSE, getter_Copies(outCString));
|
||||
+ if (outCString)
|
||||
+ {
|
||||
+ /* s/<mailto:(.*)>/$1/; */
|
||||
+ if (StringBeginsWith(mailingList, NS_LITERAL_STRING("<mailto:")) &&
|
||||
+ StringEndsWith(mailingList, NS_LITERAL_STRING(">"))) {
|
||||
+
|
||||
+ mailingList = Substring(mailingList, 8, mailingList.Length() - 9);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ mailFollowupTo = mailingList;
|
||||
+ }
|
||||
+
|
||||
+ if (mailReplyTo.IsEmpty()) {
|
||||
+ nsAutoString from;
|
||||
+ nsAutoString xReplyTo;
|
||||
+
|
||||
+ mHeaders->ExtractHeader(HEADER_FROM, PR_FALSE, getter_Copies(outCString));
|
||||
+ if (outCString)
|
||||
+ mMimeConverter->DecodeMimeHeader(outCString, from, charset);
|
||||
+ }
|
||||
+
|
||||
+ mHeaders->ExtractHeader(HEADER_X_REPLY_TO, PR_FALSE, getter_Copies(outCString));
|
||||
+ if (outCString)
|
||||
+ {
|
||||
+
|
||||
+ mHeaders->ExtractHeader(HEADER_X_REPLY_TO, PR_FALSE, getter_Copies(outCString));
|
||||
+ if (outCString)
|
||||
+ mMimeConverter->DecodeMimeHeader(outCString, xReplyTo, charset);
|
||||
+ }
|
||||
+
|
||||
+ if (replyTo == mailFollowupTo) {
|
||||
+ if (!xReplyTo.IsEmpty()) {
|
||||
+ mailReplyTo = xReplyTo;
|
||||
+ }
|
||||
+ else {
|
||||
+ mailReplyTo = from;
|
||||
+ }
|
||||
+ }
|
||||
+ else {
|
||||
+ mailReplyTo = replyTo;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
|
||||
+
|
||||
+ if (replyTo == mailFollowupTo) {
|
||||
+ if (!xReplyTo.IsEmpty())
|
||||
+ mailReplyTo = xReplyTo;
|
||||
+ else
|
||||
+ mailReplyTo = from;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+
|
||||
if (type == nsIMsgCompType::ReplyAll)
|
||||
{
|
||||
@@ -2129,11 +2201,13 @@ NS_IMETHODIMP QuotingOutputStreamListene
|
||||
{
|
||||
mMimeConverter->DecodeMimeHeader(outCString, cc, charset);
|
||||
mHeaders->ExtractHeader(HEADER_TO, PR_TRUE, getter_Copies(outCString));
|
||||
@@ -2252,10 +2317,10 @@ NS_IMETHODIMP QuotingOutputStreamListene
|
||||
compFields->SetBcc(bcc);
|
||||
}
|
||||
-
|
||||
|
||||
- mHeaders->ExtractHeader(HEADER_MAIL_FOLLOWUP_TO, PR_TRUE, getter_Copies(outCString));
|
||||
- if (outCString)
|
||||
- {
|
||||
- mMimeConverter->DecodeMimeHeader(outCString, mailFollowupTo, charset);
|
||||
+
|
||||
+ if (!clobberListReply) { // else we've already looked this up earlier
|
||||
+ mHeaders->ExtractHeader(HEADER_MAIL_FOLLOWUP_TO, PR_TRUE, getter_Copies(outCString));
|
||||
+ if (outCString)
|
||||
+ {
|
||||
+ mMimeConverter->DecodeMimeHeader(outCString, mailFollowupTo, charset);
|
||||
+ }
|
||||
+ mMimeConverter->DecodeMimeHeader(outCString, mailFollowupTo, charset);
|
||||
}
|
||||
|
||||
|
||||
if (! mailFollowupTo.IsEmpty())
|
||||
@@ -2174,18 +2248,6 @@ NS_IMETHODIMP QuotingOutputStreamListene
|
||||
@@ -2296,18 +2361,6 @@ NS_IMETHODIMP QuotingOutputStreamListene
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
- mHeaders->ExtractHeader(HEADER_REPLY_TO, PR_FALSE, getter_Copies(outCString));
|
||||
- if (outCString)
|
||||
- {
|
||||
- mMimeConverter->DecodeMimeHeader(outCString, replyTo, charset);
|
||||
- }
|
||||
-
|
||||
-
|
||||
- mHeaders->ExtractHeader(HEADER_MAIL_REPLY_TO, PR_TRUE, getter_Copies(outCString));
|
||||
- if (outCString)
|
||||
- {
|
||||
- mMimeConverter->DecodeMimeHeader(outCString, mailReplyTo, charset);
|
||||
- }
|
||||
-
|
||||
-
|
||||
mHeaders->ExtractHeader(HEADER_NEWSGROUPS, PR_FALSE, getter_Copies(outCString));
|
||||
if (outCString)
|
||||
{
|
||||
|
@ -1,32 +0,0 @@
|
||||
Index: mail/base/content/msgHdrViewOverlay.js
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mail/base/content/msgHdrViewOverlay.js,v
|
||||
retrieving revision 1.56.2.4.2.1
|
||||
diff -u -r1.56.2.4.2.1 msgHdrViewOverlay.js
|
||||
--- mail/base/content/msgHdrViewOverlay.js 6 Jan 2006 00:55:18 -0000 1.56.2.4.2.1
|
||||
+++ mail/base/content/msgHdrViewOverlay.js 4 Mar 2006 20:25:42 -0000
|
||||
@@ -128,7 +128,7 @@
|
||||
var gExpandedHeaderList = [ {name:"subject"},
|
||||
{name:"from", outputFunction:OutputEmailAddresses},
|
||||
{name:"sender", outputFunction:OutputEmailAddresses},
|
||||
- {name:"reply-to", outputFunction:OutputEmailAddresses},
|
||||
+ {name:"reply-to", useToggle:true, outputFunction:OutputEmailAddresses},
|
||||
{name:"date"},
|
||||
{name:"to", useToggle:true, outputFunction:OutputEmailAddresses},
|
||||
{name:"cc", useToggle:true, outputFunction:OutputEmailAddresses},
|
||||
Index: mail/base/content/msgHdrViewOverlay.xul
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mail/base/content/msgHdrViewOverlay.xul,v
|
||||
retrieving revision 1.14
|
||||
diff -u -r1.14 msgHdrViewOverlay.xul
|
||||
--- mail/base/content/msgHdrViewOverlay.xul 2 Aug 2005 22:31:24 -0000 1.14
|
||||
+++ mail/base/content/msgHdrViewOverlay.xul 4 Mar 2006 20:26:37 -0000
|
||||
@@ -147,7 +147,7 @@
|
||||
<mail-emailheaderfield id="expandedfromBox" label="&fromField.label;" collapsed="true"/>
|
||||
<mail-emailheaderfield id="expandedsenderBox" label="&senderField.label;" collapsed="true"/>
|
||||
<mail-headerfield id="expandedorganizationBox" label="&organizationField.label;" collapsed="true"/>
|
||||
- <mail-emailheaderfield id="expandedreply-toBox" label="&replyToField.label;" collapsed="true"/>
|
||||
+ <mail-multi-emailHeaderField id="expandedreply-toBox" label="&replyToField.label;" collapsed="true"/>
|
||||
|
||||
<mail-headerfield keywordrelated="true" id="expandeddateBox" label="&dateField.label;" collapsed="true"/>
|
||||
|
5556
pango-cairo.patch
5556
pango-cairo.patch
File diff suppressed because it is too large
Load Diff
@ -1,254 +0,0 @@
|
||||
Subject: Printer properties are not saved and displayed correctly
|
||||
References:
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=324072
|
||||
https://bugzilla.novell.com/show_bug.cgi?id=174082
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=342950
|
||||
https://bugzilla.novell.com/show_bug.cgi?id=187013
|
||||
|
||||
Index: idl/nsIPrintSettingsService.idl
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/gfx/idl/Attic/nsIPrintSettingsService.idl,v
|
||||
retrieving revision 1.2
|
||||
diff -p -u -d -8 -r1.2 nsIPrintSettingsService.idl
|
||||
--- idl/nsIPrintSettingsService.idl 17 Apr 2004 21:52:27 -0000 1.2
|
||||
+++ gfx/idl/nsIPrintSettingsService.idl 11 May 2006 21:51:04 -0000
|
||||
@@ -67,17 +67,17 @@ interface nsIPrintSettingsService : nsIS
|
||||
* then it should use "globalPrintSettings"
|
||||
*
|
||||
* Initializes the newPrintSettings from the default printer
|
||||
*
|
||||
*/
|
||||
readonly attribute nsIPrintSettings newPrintSettings;
|
||||
|
||||
/**
|
||||
- * The name of the default printer
|
||||
+ * The name of the last printer used, or else the system default printer.
|
||||
*/
|
||||
readonly attribute wstring defaultPrinterName;
|
||||
|
||||
/**
|
||||
* Initializes certain settings from the native printer into the PrintSettings
|
||||
* if aPrinterName is null then it uses the default printer name if it can
|
||||
* These settings include, but are not limited to:
|
||||
* Page Orientation
|
||||
@@ -85,28 +85,31 @@ interface nsIPrintSettingsService : nsIS
|
||||
* Number of Copies
|
||||
*/
|
||||
void initPrintSettingsFromPrinter(in wstring aPrinterName, in nsIPrintSettings aPrintSettings);
|
||||
|
||||
/**
|
||||
* Reads PrintSettings values from Prefs,
|
||||
* the values to be read are indicated by the "flags" arg.
|
||||
*
|
||||
- * First it reads in the "generic" set of PrintSetings not associated with any printer
|
||||
- * then it uses the PrinterName in the PrinterSettings to read any settings that were saved
|
||||
+ * aPrintSettings should be initialized with the name of a printer. First
|
||||
+ * it reads in the PrintSettings from the last print job. Then it uses the
|
||||
+ * PrinterName in the PrinterSettings to read any settings that were saved
|
||||
* just for that printer.
|
||||
*
|
||||
* aPS - PrintSettings to have its settings read
|
||||
* aUsePrinterNamePrefix - indicates whether to use the printer name as a prefix
|
||||
- * aFlags - indicates which prefs to read, see nsIPrintSettings.idl for the const values.
|
||||
+ * aFlags - indicates which prefs to read, see nsIPrintSettings.idl for the
|
||||
+ * const values.
|
||||
*
|
||||
* Items not read:
|
||||
* startPageRange, endPageRange, scaling, printRange, title
|
||||
* docURL, howToEnableFrameUI, isCancelled, printFrameTypeUsage
|
||||
- * printFrameType, printSilent, shrinkToFit, numCopies
|
||||
+ * printFrameType, printSilent, shrinkToFit, numCopies,
|
||||
+ * printerName
|
||||
*
|
||||
*/
|
||||
void initPrintSettingsFromPrefs(in nsIPrintSettings aPrintSettings, in boolean aUsePrinterNamePrefix, in unsigned long aFlags);
|
||||
|
||||
/**
|
||||
* Writes PrintSettings values to Prefs,
|
||||
* the values to be written are indicated by the "flags" arg.
|
||||
*
|
||||
Index: gfx/src/nsPrintOptionsImpl.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/gfx/src/Attic/nsPrintOptionsImpl.cpp,v
|
||||
retrieving revision 1.76
|
||||
diff -p -u -d -8 -r1.76 nsPrintOptionsImpl.cpp
|
||||
--- src/nsPrintOptionsImpl.cpp 9 Aug 2005 01:35:48 -0000 1.76
|
||||
+++ gfx/src/nsPrintOptionsImpl.cpp 11 May 2006 21:51:05 -0000
|
||||
@@ -597,23 +597,16 @@ nsPrintOptions::ReadPrefs(nsIPrintSettin
|
||||
|
||||
if (aFlags & nsIPrintSettings::kInitSavePrintCommand) {
|
||||
if (GETSTRPREF(kPrintCommand, str)) {
|
||||
aPS->SetPrintCommand(str.get());
|
||||
DUMP_STR(kReadStr, kPrintCommand, str.get());
|
||||
}
|
||||
}
|
||||
|
||||
- if (aFlags & nsIPrintSettings::kInitSavePrinterName) {
|
||||
- if (GETSTRPREF(kPrinterName, str)) {
|
||||
- aPS->SetPrinterName(str.get());
|
||||
- DUMP_STR(kReadStr, kPrinterName, str.get());
|
||||
- }
|
||||
- }
|
||||
-
|
||||
if (aFlags & nsIPrintSettings::kInitSavePrintToFile) {
|
||||
if (GETBOOLPREF(kPrintToFile, &b)) {
|
||||
aPS->SetPrintToFile(b);
|
||||
DUMP_BOOL(kReadStr, kPrintToFile, b);
|
||||
}
|
||||
}
|
||||
|
||||
if (aFlags & nsIPrintSettings::kInitSaveToFileName) {
|
||||
@@ -865,20 +858,22 @@ nsPrintOptions::WritePrefs(nsIPrintSetti
|
||||
|
||||
if (aFlags & nsIPrintSettings::kInitSavePrintCommand) {
|
||||
if (NS_SUCCEEDED(aPS->GetPrintCommand(&uStr))) {
|
||||
DUMP_STR(kWriteStr, kPrintCommand, uStr);
|
||||
WritePrefString(uStr, GetPrefName(kPrintCommand, aPrinterName));
|
||||
}
|
||||
}
|
||||
|
||||
- if (aFlags & nsIPrintSettings::kInitSavePrinterName) {
|
||||
+ // Only the general version of this pref is saved
|
||||
+ if ((aFlags & nsIPrintSettings::kInitSavePrinterName)
|
||||
+ && aPrinterName.IsEmpty()) {
|
||||
if (NS_SUCCEEDED(aPS->GetPrinterName(&uStr))) {
|
||||
DUMP_STR(kWriteStr, kPrinterName, uStr);
|
||||
- WritePrefString(uStr, GetPrefName(kPrinterName, aPrinterName));
|
||||
+ WritePrefString(uStr, kPrinterName);
|
||||
}
|
||||
}
|
||||
|
||||
if (aFlags & nsIPrintSettings::kInitSavePrintToFile) {
|
||||
if (NS_SUCCEEDED(aPS->GetPrintToFile(&b))) {
|
||||
DUMP_BOOL(kWriteStr, kPrintToFile, b);
|
||||
mPrefBranch->SetBoolPref(GetPrefName(kPrintToFile, aPrinterName), b);
|
||||
}
|
||||
@@ -965,16 +960,22 @@ NS_IMETHODIMP nsPrintOptions::GetNativeD
|
||||
|
||||
nsresult nsPrintOptions::_CreatePrintSettings(nsIPrintSettings **_retval)
|
||||
{
|
||||
// does not initially ref count
|
||||
nsPrintSettings * printSettings = new nsPrintSettings();
|
||||
NS_ENSURE_TRUE(printSettings, NS_ERROR_OUT_OF_MEMORY);
|
||||
|
||||
NS_ADDREF(*_retval = printSettings); // ref count
|
||||
+
|
||||
+ nsXPIDLString printerName;
|
||||
+ nsresult rv = GetDefaultPrinterName(getter_Copies(printerName));
|
||||
+ NS_ENSURE_SUCCESS(rv, rv);
|
||||
+ (*_retval)->SetPrinterName(printerName.get());
|
||||
+
|
||||
(void)InitPrintSettingsFromPrefs(*_retval, PR_FALSE,
|
||||
nsIPrintSettings::kInitSaveAll);
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsPrintOptions::CreatePrintSettings(nsIPrintSettings **_retval)
|
||||
{
|
||||
@@ -1003,16 +1004,42 @@ nsPrintOptions::GetNewPrintSettings(nsIP
|
||||
NS_IMETHODIMP
|
||||
nsPrintOptions::GetDefaultPrinterName(PRUnichar * *aDefaultPrinterName)
|
||||
{
|
||||
nsresult rv;
|
||||
nsCOMPtr<nsIPrinterEnumerator> prtEnum = do_GetService(kPrinterEnumeratorCID,
|
||||
&rv);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
+ // Look up the printer from the last print job
|
||||
+ nsAutoString lastPrinterName;
|
||||
+ ReadPrefString(kPrinterName, lastPrinterName);
|
||||
+ if (!lastPrinterName.IsEmpty()) {
|
||||
+ // Verify it's still a valid printer
|
||||
+ PRUnichar **printers;
|
||||
+ PRUint32 ctPrinters;
|
||||
+ rv = prtEnum->EnumeratePrinters(&ctPrinters, &printers);
|
||||
+ if (NS_SUCCEEDED(rv)) {
|
||||
+ PRBool isValid = PR_FALSE;
|
||||
+ for (PRInt32 ii = ctPrinters - 1; ii >= 0; --ii) {
|
||||
+ if (lastPrinterName.Equals(printers[ii])) {
|
||||
+ isValid = PR_TRUE;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ NS_FREE_XPCOM_ALLOCATED_POINTER_ARRAY(ctPrinters, printers);
|
||||
+ if (isValid) {
|
||||
+ *aDefaultPrinterName = ToNewUnicode(lastPrinterName);
|
||||
+ return NS_OK;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ // There is no last printer preference, or it doesn't name a valid printer.
|
||||
+ // Return the default from the printer enumeration.
|
||||
return prtEnum->GetDefaultPrinterName(aDefaultPrinterName);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsPrintOptions::InitPrintSettingsFromPrinter(const PRUnichar *aPrinterName,
|
||||
nsIPrintSettings *aPrintSettings)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(aPrintSettings);
|
||||
@@ -1124,49 +1151,50 @@ nsPrintOptions::InitPrintSettingsFromPre
|
||||
nsAutoString prtName;
|
||||
// read any non printer specific prefs
|
||||
// with empty printer name
|
||||
nsresult rv = ReadPrefs(aPS, prtName, aFlags);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
// Get the Printer Name from the PrintSettings
|
||||
// to use as a prefix for Pref Names
|
||||
- GetAdjustedPrinterName(aPS, aUsePNP, prtName);
|
||||
- NS_ENSURE_FALSE(prtName.IsEmpty(), NS_OK);
|
||||
+ rv = GetAdjustedPrinterName(aPS, aUsePNP, prtName);
|
||||
+ NS_ENSURE_SUCCESS(rv, rv);
|
||||
+
|
||||
+ if (prtName.IsEmpty()) {
|
||||
+ NS_WARNING("Caller should supply a printer name.");
|
||||
+ return NS_OK;
|
||||
+ }
|
||||
|
||||
// Now read any printer specific prefs
|
||||
rv = ReadPrefs(aPS, prtName, aFlags);
|
||||
if (NS_SUCCEEDED(rv))
|
||||
aPS->SetIsInitializedFromPrefs(PR_TRUE);
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
-/** ---------------------------------------------------
|
||||
- * This will save into prefs most all the PrintSettings either generically (not
|
||||
- * specified printer) or to a specific printer.
|
||||
+/**
|
||||
+ * Save all of the printer settings; if we can find a printer name, save
|
||||
+ * printer-specific preferences. Otherwise, save generic ones.
|
||||
*/
|
||||
nsresult
|
||||
nsPrintOptions::SavePrintSettingsToPrefs(nsIPrintSettings *aPS,
|
||||
PRBool aUsePrinterNamePrefix,
|
||||
PRUint32 aFlags)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(aPS);
|
||||
nsAutoString prtName;
|
||||
|
||||
- // Get the Printer Name from the PrinterSettings
|
||||
- // to use as a prefix for Pref Names
|
||||
+ // Get the printer name from the PrinterSettings for an optional prefix.
|
||||
nsresult rv = GetAdjustedPrinterName(aPS, aUsePrinterNamePrefix, prtName);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
- // Now write any printer specific prefs
|
||||
- // XXX but when |prtName| is empty, how can we write printer specific prefs?
|
||||
- rv = WritePrefs(aPS, prtName, aFlags);
|
||||
-
|
||||
- return rv;
|
||||
+ // Write the prefs, with or without a printer name prefix.
|
||||
+ return WritePrefs(aPS, prtName, aFlags);
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------
|
||||
//-- Protected Methods --------------------------------
|
||||
//-----------------------------------------------------
|
||||
nsresult
|
||||
nsPrintOptions::ReadPrefString(const char * aPrefId, nsAString& aString)
|
306
remote.patch
306
remote.patch
@ -1,306 +0,0 @@
|
||||
Index: widget/public/nsIXRemoteClient.idl
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/widget/public/nsIXRemoteClient.idl,v
|
||||
retrieving revision 1.2
|
||||
diff -u -p -6 -r1.2 nsIXRemoteClient.idl
|
||||
--- widget/public/nsIXRemoteClient.idl 8 Apr 2004 14:01:15 -0000 1.2
|
||||
+++ widget/public/nsIXRemoteClient.idl 22 Feb 2005 08:18:43 -0000
|
||||
@@ -26,13 +26,13 @@
|
||||
[scriptable, uuid(0bafc924-1dd2-11b2-8345-b59762ae0df7)]
|
||||
interface nsIXRemoteClient : nsISupports
|
||||
{
|
||||
/**
|
||||
* Initializes the client
|
||||
*/
|
||||
- void init();
|
||||
+ void init(in string aDisplay);
|
||||
|
||||
/**
|
||||
* Sends a command to a running instance. If it returns false then
|
||||
* there is no running instance.
|
||||
*
|
||||
* @param aProgram This is the preferred program that we want to use
|
||||
Index: widget/src/xremoteclient/XRemoteClient.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/widget/src/xremoteclient/XRemoteClient.cpp,v
|
||||
retrieving revision 1.14
|
||||
diff -u -p -6 -r1.14 XRemoteClient.cpp
|
||||
--- widget/src/xremoteclient/XRemoteClient.cpp 8 Apr 2004 14:01:16 -0000 1.14
|
||||
+++ widget/src/xremoteclient/XRemoteClient.cpp 22 Feb 2005 08:19:31 -0000
|
||||
@@ -77,20 +77,20 @@ XRemoteClient::~XRemoteClient()
|
||||
|
||||
#ifndef XREMOTE_STANDALONE
|
||||
NS_IMPL_ISUPPORTS1(XRemoteClient, nsIXRemoteClient)
|
||||
#endif
|
||||
|
||||
NS_IMETHODIMP
|
||||
-XRemoteClient::Init (void)
|
||||
+XRemoteClient::Init (const char *aDisplay)
|
||||
{
|
||||
PR_LOG(sRemoteLm, PR_LOG_DEBUG, ("XRemoteClient::Init"));
|
||||
|
||||
if (mInitialized)
|
||||
return NS_OK;
|
||||
// try to open the display
|
||||
- mDisplay = XOpenDisplay(0);
|
||||
+ mDisplay = XOpenDisplay(aDisplay);
|
||||
if (!mDisplay)
|
||||
return NS_ERROR_FAILURE;
|
||||
|
||||
// get our atoms
|
||||
mMozVersionAtom = XInternAtom(mDisplay, MOZILLA_VERSION_PROP, False);
|
||||
mMozLockAtom = XInternAtom(mDisplay, MOZILLA_LOCK_PROP, False);
|
||||
Index: widget/src/xremoteclient/mozilla-xremote-client.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/widget/src/xremoteclient/mozilla-xremote-client.cpp,v
|
||||
retrieving revision 1.3
|
||||
diff -u -p -6 -r1.3 mozilla-xremote-client.cpp
|
||||
--- widget/src/xremoteclient/mozilla-xremote-client.cpp 8 Apr 2004 14:01:16 -0000 1.3
|
||||
+++ widget/src/xremoteclient/mozilla-xremote-client.cpp 22 Feb 2005 08:21:37 -0000
|
||||
@@ -37,29 +37,42 @@
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <plgetopt.h>
|
||||
#include "XRemoteClient.h"
|
||||
+#include <string.h>
|
||||
|
||||
static void print_usage(void);
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
nsresult rv;
|
||||
XRemoteClient client;
|
||||
char *browser = 0;
|
||||
char *profile = 0;
|
||||
char *username = 0;
|
||||
char *command = 0;
|
||||
+ char *display = 0;
|
||||
+ PRInt32 i = 0;
|
||||
|
||||
if (argc < 2) {
|
||||
print_usage();
|
||||
return 4;
|
||||
}
|
||||
|
||||
+ for (i=1; i < argc - 1; i++) {
|
||||
+ if (strcmp(argv[i], "--display") == 0) {
|
||||
+ display = argv[i + 1];
|
||||
+ /* Now remove the --display parameters from the command line */
|
||||
+ memmove(&argv[i], &argv[i + 2], sizeof(argv[i])*(argc - (i + 2)));
|
||||
+ argc -= 2;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
PLOptStatus os;
|
||||
PLOptState *opt = PL_CreateOptState(argc, argv, "ha:u:p:");
|
||||
while (PL_OPT_EOL != (os = PL_GetNextOpt(opt))) {
|
||||
if (PL_OPT_BAD == os) {
|
||||
print_usage();
|
||||
return 4;
|
||||
@@ -83,13 +96,13 @@ int main(int argc, char **argv)
|
||||
command = strdup(opt->value);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
- rv = client.Init();
|
||||
+ rv = client.Init(display);
|
||||
// failed to connect to the X server
|
||||
if (NS_FAILED(rv))
|
||||
return 1;
|
||||
|
||||
// send the command - it doesn't get any easier than this
|
||||
PRBool success = PR_FALSE;
|
||||
@@ -120,10 +133,11 @@ int main(int argc, char **argv)
|
||||
// else, everything is fine.
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* static */
|
||||
void print_usage(void) {
|
||||
- fprintf(stderr, "Usage: mozilla-xremote-client [-a firefox|thunderbird|mozilla|any]\n");
|
||||
+ fprintf(stderr, "Usage: mozilla-xremote-client [--display DISPLAY]\n");
|
||||
+ fprintf(stderr, " [-a firefox|thunderbird|mozilla|any]\n");
|
||||
fprintf(stderr, " [-u <username>]\n");
|
||||
fprintf(stderr, " [-p <profile>] COMMAND\n");
|
||||
}
|
||||
Index: toolkit/xre/nsAppRunner.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/toolkit/xre/nsAppRunner.cpp,v
|
||||
retrieving revision 1.27.2.1.4.40
|
||||
diff -u -p -6 -r1.27.2.1.4.40 nsAppRunner.cpp
|
||||
--- toolkit/xre/nsAppRunner.cpp 2 Nov 2004 23:27:24 -0000 1.27.2.1.4.40
|
||||
+++ toolkit/xre/nsAppRunner.cpp 25 Feb 2005 07:49:37 -0000
|
||||
@@ -977,13 +977,13 @@ DumpVersion()
|
||||
}
|
||||
|
||||
#ifdef MOZ_ENABLE_XREMOTE
|
||||
// use int here instead of a PR type since it will be returned
|
||||
// from main - just to keep types consistent
|
||||
static int
|
||||
-HandleRemoteArgument(const char* remote)
|
||||
+HandleRemoteArgument(const char* remote, const char* display)
|
||||
{
|
||||
nsresult rv;
|
||||
ArgResult ar;
|
||||
|
||||
const char *profile = 0;
|
||||
nsCAutoString program(gAppData->appName);
|
||||
@@ -1019,13 +1019,13 @@ HandleRemoteArgument(const char* remote)
|
||||
{ // scope the comptr so we don't hold on to XPCOM objects beyond shutdown
|
||||
// try to get the X remote client
|
||||
nsCOMPtr<nsIXRemoteClient> client (do_CreateInstance(NS_XREMOTECLIENT_CONTRACTID));
|
||||
NS_ENSURE_TRUE(client, 1);
|
||||
|
||||
// try to init - connects to the X server and stuff
|
||||
- rv = client->Init();
|
||||
+ rv = client->Init(display);
|
||||
if (NS_FAILED(rv)) {
|
||||
PR_fprintf(PR_STDERR, "Error: Failed to connect to X server.\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
nsXPIDLCString response;
|
||||
@@ -1521,12 +1521,13 @@ public:
|
||||
~ScopedFPHandler() { PR_OS2_UnsetFloatExcpHandler(&excpreg); }
|
||||
};
|
||||
#endif
|
||||
|
||||
int xre_main(int argc, char* argv[], const nsXREAppData* aAppData)
|
||||
{
|
||||
+ ArgResult ar;
|
||||
nsresult rv;
|
||||
NS_TIMELINE_MARK("enter main");
|
||||
|
||||
#if defined(DEBUG) && defined(XP_WIN32)
|
||||
// Disable small heap allocator to get heapwalk() giving us
|
||||
// accurate heap numbers. Win2k non-debug does not use small heap allocator.
|
||||
@@ -1633,12 +1634,21 @@ int xre_main(int argc, char* argv[], con
|
||||
|
||||
em->Register();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
+ // save display argument here to reserve it for -remote
|
||||
+ // handling (it will be removed from gtk_init)
|
||||
+ const char *display = nsnull;
|
||||
+ ar = CheckArg("display", &display);
|
||||
+ if (ar == ARG_BAD) {
|
||||
+ PR_fprintf(PR_STDERR, "Error: argument --display requires a display number\n");
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
#if defined(MOZ_WIDGET_GTK) || defined(MOZ_WIDGET_GTK2)
|
||||
// setup for private colormap. Ideally we'd like to do this
|
||||
// in nsAppShell::Create, but we need to get in before gtk
|
||||
// has been initialized to make sure everything is running
|
||||
// consistently.
|
||||
if (CheckArg("install"))
|
||||
@@ -1695,19 +1705,19 @@ int xre_main(int argc, char* argv[], con
|
||||
}
|
||||
|
||||
#ifdef MOZ_ENABLE_XREMOTE
|
||||
// handle -remote now that xpcom is fired up
|
||||
|
||||
const char* xremotearg;
|
||||
- ArgResult ar = CheckArg("remote", &xremotearg);
|
||||
+ ar = CheckArg("remote", &xremotearg);
|
||||
if (ar == ARG_BAD) {
|
||||
PR_fprintf(PR_STDERR, "Error: -remote requires an argument\n");
|
||||
return 1;
|
||||
}
|
||||
if (ar) {
|
||||
- return HandleRemoteArgument(xremotearg);
|
||||
+ return HandleRemoteArgument(xremotearg, display);
|
||||
}
|
||||
#endif
|
||||
|
||||
nsCOMPtr<nsIProfileLock> profileLock;
|
||||
PRBool startOffline = PR_FALSE;
|
||||
|
||||
Index: xpfe/bootstrap/nsAppRunner.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/xpfe/bootstrap/nsAppRunner.cpp,v
|
||||
retrieving revision 1.413.2.1.4.1
|
||||
diff -u -p -6 -r1.413.2.1.4.1 nsAppRunner.cpp
|
||||
--- xpfe/bootstrap/nsAppRunner.cpp 10 Jun 2004 20:43:39 -0000 1.413.2.1.4.1
|
||||
+++ xpfe/bootstrap/nsAppRunner.cpp 28 Feb 2005 09:11:26 -0000
|
||||
@@ -1402,13 +1402,13 @@ static nsresult DumpVersion(char *appnam
|
||||
return rv;
|
||||
}
|
||||
|
||||
#ifdef MOZ_ENABLE_XREMOTE
|
||||
// use int here instead of a PR type since it will be returned
|
||||
// from main - just to keep types consistent
|
||||
-static int HandleRemoteArguments(int argc, char* argv[], PRBool *aArgUsed)
|
||||
+static int HandleRemoteArguments(int argc, char* argv[], char* display, PRBool *aArgUsed)
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
const char *remote = 0;
|
||||
const char *profile = 0;
|
||||
const char *program = 0;
|
||||
@@ -1463,13 +1463,13 @@ static int HandleRemoteArguments(int arg
|
||||
nsCOMPtr<nsIXRemoteClient> client (do_CreateInstance(NS_XREMOTECLIENT_CONTRACTID));
|
||||
if (!client)
|
||||
return 1;
|
||||
|
||||
nsresult rv;
|
||||
// try to init - connects to the X server and stuff
|
||||
- rv = client->Init();
|
||||
+ rv = client->Init(display);
|
||||
if (NS_FAILED(rv)) {
|
||||
PR_fprintf(PR_STDERR, "Error: Failed to connect to X server.\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
// Make sure to set a username if possible
|
||||
@@ -1656,12 +1656,28 @@ int main(int argc, char* argv[])
|
||||
fprintf(stderr, "%s: XInitThreads failure.", argv[0]);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
}
|
||||
#endif /* MOZ_X11 */
|
||||
|
||||
+ // save --display parameter for possible -remote handling
|
||||
+ // (it will be lost after gtk_init)
|
||||
+ char *display = 0;
|
||||
+ char *param = 0;
|
||||
+ for (int i=1; i<argc; i++) {
|
||||
+ if ((PL_strncasecmp(argv[i], "-display", 7) == 0)
|
||||
+ || (PL_strncasecmp(argv[i], "--display", 8) == 0)) {
|
||||
+ if ((param = PL_strchr(argv[i], '=')) != NULL)
|
||||
+ display = PL_strdup(++param);
|
||||
+ else
|
||||
+ display = PL_strdup(argv[i + 1]);
|
||||
+ if (! *display)
|
||||
+ display = nsnull;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
#if defined(MOZ_WIDGET_GTK) || defined(MOZ_WIDGET_GTK2)
|
||||
// setup for private colormap. Ideally we'd like to do this
|
||||
// in nsAppShell::Create, but we need to get in before gtk
|
||||
// has been initialized to make sure everything is running
|
||||
// consistently.
|
||||
for (int i=1; i<argc; i++)
|
||||
@@ -1749,13 +1765,13 @@ int main(int argc, char* argv[])
|
||||
#ifdef MOZ_ENABLE_XREMOTE
|
||||
// handle -remote now that xpcom is fired up
|
||||
int remoterv;
|
||||
PRBool argused = PR_FALSE;
|
||||
// argused will be true if someone tried to use a -remote flag. We
|
||||
// always exit in that case.
|
||||
- remoterv = HandleRemoteArguments(argc, argv, &argused);
|
||||
+ remoterv = HandleRemoteArguments(argc, argv, display, &argused);
|
||||
|
||||
if (argused) {
|
||||
#ifdef XPCOM_GLUE
|
||||
GRE_Shutdown();
|
||||
#else
|
||||
NS_ShutdownXPCOM(nsnull);
|
@ -1,40 +1,3 @@
|
||||
Index: mail/base/content/mailCommands.js
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mail/base/content/mailCommands.js,v
|
||||
retrieving revision 1.25
|
||||
diff -u -p -r1.25 mailCommands.js
|
||||
--- mail/base/content/mailCommands.js 26 Jan 2006 23:48:13 -0000 1.25
|
||||
+++ mail/base/content/mailCommands.js 6 Apr 2006 02:26:56 -0000
|
||||
@@ -258,7 +258,10 @@ function ComposeMessage(type, format, fo
|
||||
var messageIDScheme = messageID ? messageID.split(":")[0] : "";
|
||||
if (messageIDScheme && (messageIDScheme == 'http' || messageIDScheme == 'https') && "openComposeWindowForRSSArticle" in this)
|
||||
openComposeWindowForRSSArticle(messageID, hdr, type);
|
||||
- else if (type == msgComposeType.Reply || type == msgComposeType.ReplyAll || type == msgComposeType.ForwardInline ||
|
||||
+ else if (type == msgComposeType.Reply ||
|
||||
+ type == msgComposeType.ReplyAll ||
|
||||
+ type == msgComposeType.ReplyToList ||
|
||||
+ type == msgComposeType.ForwardInline ||
|
||||
type == msgComposeType.ReplyToGroup || type == msgComposeType.ReplyToSender ||
|
||||
type == msgComposeType.ReplyToSenderAndGroup ||
|
||||
type == msgComposeType.Template || type == msgComposeType.Draft)
|
||||
Index: mailnews/base/resources/content/mailCommands.js
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mailnews/base/resources/content/mailCommands.js,v
|
||||
retrieving revision 1.100
|
||||
diff -u -p -r1.100 mailCommands.js
|
||||
--- mailnews/base/resources/content/mailCommands.js 20 Oct 2005 16:03:26 -0000 1.100
|
||||
+++ mailnews/base/resources/content/mailCommands.js 6 Apr 2006 02:26:57 -0000
|
||||
@@ -267,7 +267,9 @@ function ComposeMessage(type, format, fo
|
||||
}
|
||||
}
|
||||
|
||||
- if (type == msgComposeType.Reply || type == msgComposeType.ReplyAll || type == msgComposeType.ForwardInline ||
|
||||
+ if (type == msgComposeType.Reply || type == msgComposeType.ReplyAll ||
|
||||
+ type == msgComposeType.ReplyToList ||
|
||||
+ type == msgComposeType.ForwardInline ||
|
||||
type == msgComposeType.ReplyToGroup || type == msgComposeType.ReplyToSender ||
|
||||
type == msgComposeType.ReplyToSenderAndGroup ||
|
||||
type == msgComposeType.Template || type == msgComposeType.Draft)
|
||||
Index: mailnews/compose/public/nsIMsgComposeParams.idl
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mailnews/compose/public/nsIMsgComposeParams.idl,v
|
||||
@ -50,109 +13,6 @@ diff -u -p -r1.8 nsIMsgComposeParams.idl
|
||||
};
|
||||
|
||||
|
||||
Index: mailnews/compose/src/nsMsgCompose.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mailnews/compose/src/nsMsgCompose.cpp,v
|
||||
retrieving revision 1.481
|
||||
diff -u -p -r1.481 nsMsgCompose.cpp
|
||||
--- mailnews/compose/src/nsMsgCompose.cpp 3 Feb 2006 14:18:18 -0000 1.481
|
||||
+++ mailnews/compose/src/nsMsgCompose.cpp 6 Apr 2006 02:26:58 -0000
|
||||
@@ -1751,6 +1751,7 @@ nsresult nsMsgCompose::CreateMessage(con
|
||||
default: break;
|
||||
case nsIMsgCompType::Reply :
|
||||
case nsIMsgCompType::ReplyAll:
|
||||
+ case nsIMsgCompType::ReplyToList:
|
||||
case nsIMsgCompType::ReplyToGroup:
|
||||
case nsIMsgCompType::ReplyToSender:
|
||||
case nsIMsgCompType::ReplyToSenderAndGroup:
|
||||
@@ -2196,8 +2197,13 @@ NS_IMETHODIMP QuotingOutputStreamListene
|
||||
if (!mCiteReference.IsEmpty())
|
||||
compose->SetCiteReference(mCiteReference);
|
||||
|
||||
- if (mHeaders && (type == nsIMsgCompType::Reply || type == nsIMsgCompType::ReplyAll || type == nsIMsgCompType::ReplyToSender ||
|
||||
- type == nsIMsgCompType::ReplyToGroup || type == nsIMsgCompType::ReplyToSenderAndGroup) && mQuoteOriginal)
|
||||
+ if (mHeaders && (type == nsIMsgCompType::Reply ||
|
||||
+ type == nsIMsgCompType::ReplyAll ||
|
||||
+ type == nsIMsgCompType::ReplyToList ||
|
||||
+ type == nsIMsgCompType::ReplyToSender ||
|
||||
+ type == nsIMsgCompType::ReplyToGroup ||
|
||||
+ type == nsIMsgCompType::ReplyToSenderAndGroup) &&
|
||||
+ mQuoteOriginal)
|
||||
{
|
||||
nsCOMPtr<nsIMsgCompFields> compFields;
|
||||
compose->GetCompFields(getter_AddRefs(compFields));
|
||||
@@ -2213,6 +2219,7 @@ NS_IMETHODIMP QuotingOutputStreamListene
|
||||
nsAutoString followUpTo;
|
||||
nsAutoString messageId;
|
||||
nsAutoString references;
|
||||
+ nsAutoString listPost;
|
||||
nsXPIDLCString outCString;
|
||||
PRBool needToRemoveDup = PR_FALSE;
|
||||
if (!mMimeConverter)
|
||||
@@ -2257,6 +2264,29 @@ NS_IMETHODIMP QuotingOutputStreamListene
|
||||
|
||||
needToRemoveDup = PR_TRUE;
|
||||
}
|
||||
+
|
||||
+ mHeaders->ExtractHeader(HEADER_LIST_POST, PR_TRUE, getter_Copies(outCString));
|
||||
+ if (!outCString.IsEmpty())
|
||||
+ mMimeConverter->DecodeMimeHeader(outCString, listPost, charset);
|
||||
+
|
||||
+ if (type == nsIMsgCompType::ReplyToList && ! listPost.IsEmpty())
|
||||
+ {
|
||||
+ nsString::const_iterator mailtoStart, mailtoEnd;
|
||||
+ listPost.BeginReading(mailtoStart);
|
||||
+ listPost.EndReading(mailtoEnd);
|
||||
+ nsAutoString mailtoText(NS_LITERAL_STRING("<mailto:"));
|
||||
+ PRBool mailtoFound = FindInReadable(mailtoText, mailtoStart, mailtoEnd);
|
||||
+
|
||||
+ // Strip off the leading "<mailto:" and trailing ">"
|
||||
+ if (mailtoFound && listPost.Equals(mailtoStart.get()) &&
|
||||
+ listPost.RFindChar('>') == listPost.Length() - 1)
|
||||
+ {
|
||||
+ listPost.Cut(0, mailtoText.Length());
|
||||
+ listPost.Cut(listPost.Length() - 1, 1);
|
||||
+
|
||||
+ compFields->SetTo(listPost);
|
||||
+ }
|
||||
+ }
|
||||
|
||||
mHeaders->ExtractHeader(HEADER_REPLY_TO, PR_FALSE, getter_Copies(outCString));
|
||||
if (outCString)
|
||||
@@ -2294,7 +2324,8 @@ NS_IMETHODIMP QuotingOutputStreamListene
|
||||
mMimeConverter->DecodeMimeHeader(outCString, references, charset);
|
||||
}
|
||||
|
||||
- if (! ((type == nsIMsgCompType::ReplyAll) && ! mailFollowupTo.IsEmpty()))
|
||||
+ if (! ((type == nsIMsgCompType::ReplyAll) && ! mailFollowupTo.IsEmpty()) &&
|
||||
+ ! ((type == nsIMsgCompType::ReplyToList) && ! listPost.IsEmpty()))
|
||||
{
|
||||
if (! mailReplyTo.IsEmpty())
|
||||
{ // handle Mail-Reply-To (http://cr.yp.to/proto/replyto.html)
|
||||
@@ -2796,6 +2827,7 @@ NS_IMETHODIMP nsMsgCompose::RememberQueu
|
||||
// the header that we then look at when we actually send the message.
|
||||
if (mType == nsIMsgCompType::Reply ||
|
||||
mType == nsIMsgCompType::ReplyAll ||
|
||||
+ mType == nsIMsgCompType::ReplyToList ||
|
||||
mType == nsIMsgCompType::ReplyToGroup ||
|
||||
mType == nsIMsgCompType::ReplyToSender ||
|
||||
mType == nsIMsgCompType::ReplyToSenderAndGroup ||
|
||||
@@ -2834,6 +2866,7 @@ nsresult nsMsgCompose::ProcessReplyFlags
|
||||
// for this URI.
|
||||
if (mType == nsIMsgCompType::Reply ||
|
||||
mType == nsIMsgCompType::ReplyAll ||
|
||||
+ mType == nsIMsgCompType::ReplyToList ||
|
||||
mType == nsIMsgCompType::ReplyToGroup ||
|
||||
mType == nsIMsgCompType::ReplyToSender ||
|
||||
mType == nsIMsgCompType::ReplyToSenderAndGroup ||
|
||||
@@ -3745,6 +3778,7 @@ nsMsgCompose::BuildBodyMessageAndSignatu
|
||||
case nsIMsgCompType::New :
|
||||
case nsIMsgCompType::Reply : /* should not happen! but just in case */
|
||||
case nsIMsgCompType::ReplyAll : /* should not happen! but just in case */
|
||||
+ case nsIMsgCompType::ReplyToList : /* should not happen! but just in case */
|
||||
case nsIMsgCompType::ForwardAsAttachment : /* should not happen! but just in case */
|
||||
case nsIMsgCompType::ForwardInline :
|
||||
case nsIMsgCompType::NewsPost :
|
||||
Index: mailnews/mime/public/nsMailHeaders.h
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mailnews/mime/public/nsMailHeaders.h,v
|
||||
@ -188,3 +48,197 @@ diff -u -p -6 -r1.11 nsMailHeaders.h
|
||||
#define HEADER_PARM_BOUNDARY "BOUNDARY"
|
||||
#define HEADER_PARM_FILENAME "FILENAME"
|
||||
#define HEADER_PARM_NAME "NAME"
|
||||
Index: mail/base/content/mailCommands.js
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mail/base/content/mailCommands.js,v
|
||||
retrieving revision 1.20.2.5
|
||||
diff -u -p -6 -r1.20.2.5 mailCommands.js
|
||||
--- mail/base/content/mailCommands.js 10 Jul 2006 19:44:11 -0000 1.20.2.5
|
||||
+++ mail/base/content/mailCommands.js 21 Nov 2006 07:35:42 -0000
|
||||
@@ -260,12 +260,13 @@ function ComposeMessage(type, format, fo
|
||||
var messageID = hdr.messageId;
|
||||
var messageIDScheme = messageID ? messageID.split(":")[0] : "";
|
||||
if (messageIDScheme && (messageIDScheme == 'http' || messageIDScheme == 'https') && "openComposeWindowForRSSArticle" in this)
|
||||
openComposeWindowForRSSArticle(messageID, hdr, type);
|
||||
else if (type == msgComposeType.Reply ||
|
||||
type == msgComposeType.ReplyAll ||
|
||||
+ type == msgComposeType.ReplyToList ||
|
||||
type == msgComposeType.ForwardInline ||
|
||||
type == msgComposeType.ReplyToGroup ||
|
||||
type == msgComposeType.ReplyToSender ||
|
||||
type == msgComposeType.ReplyToSenderAndGroup ||
|
||||
type == msgComposeType.Template ||
|
||||
type == msgComposeType.Draft)
|
||||
Index: mailnews/base/resources/content/mailCommands.js
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mailnews/base/resources/content/mailCommands.js,v
|
||||
retrieving revision 1.96.4.4
|
||||
diff -u -p -6 -r1.96.4.4 mailCommands.js
|
||||
--- mailnews/base/resources/content/mailCommands.js 25 Jun 2006 08:56:04 -0000 1.96.4.4
|
||||
+++ mailnews/base/resources/content/mailCommands.js 21 Nov 2006 07:35:51 -0000
|
||||
@@ -267,12 +267,13 @@ function ComposeMessage(type, format, fo
|
||||
identity = tmpIdentity;
|
||||
}
|
||||
}
|
||||
|
||||
if (type == msgComposeType.Reply ||
|
||||
type == msgComposeType.ReplyAll ||
|
||||
+ type == msgComposeType.ReplyToList ||
|
||||
type == msgComposeType.ForwardInline ||
|
||||
type == msgComposeType.ReplyToGroup ||
|
||||
type == msgComposeType.ReplyToSender ||
|
||||
type == msgComposeType.ReplyToSenderAndGroup ||
|
||||
type == msgComposeType.Template ||
|
||||
type == msgComposeType.Draft)
|
||||
Index: mailnews/compose/src/nsMsgCompose.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mailnews/compose/src/nsMsgCompose.cpp,v
|
||||
retrieving revision 1.460.2.27
|
||||
diff -u -p -6 -r1.460.2.27 nsMsgCompose.cpp
|
||||
--- mailnews/compose/src/nsMsgCompose.cpp 4 Jan 2007 19:34:56 -0000 1.460.2.27
|
||||
+++ mailnews/compose/src/nsMsgCompose.cpp 10 Jan 2007 09:01:35 -0000
|
||||
@@ -1748,12 +1748,13 @@ nsresult nsMsgCompose::CreateMessage(con
|
||||
|
||||
switch (type)
|
||||
{
|
||||
default: break;
|
||||
case nsIMsgCompType::Reply :
|
||||
case nsIMsgCompType::ReplyAll:
|
||||
+ case nsIMsgCompType::ReplyToList:
|
||||
case nsIMsgCompType::ReplyToGroup:
|
||||
case nsIMsgCompType::ReplyToSender:
|
||||
case nsIMsgCompType::ReplyToSenderAndGroup:
|
||||
{
|
||||
if (!isFirstPass) // safeguard, just in case...
|
||||
{
|
||||
@@ -2192,14 +2193,18 @@ NS_IMETHODIMP QuotingOutputStreamListene
|
||||
compose->GetType(&type);
|
||||
|
||||
// Assign cite information if available...
|
||||
if (!mCiteReference.IsEmpty())
|
||||
compose->SetCiteReference(mCiteReference);
|
||||
|
||||
- if (mHeaders && (type == nsIMsgCompType::Reply || type == nsIMsgCompType::ReplyAll || type == nsIMsgCompType::ReplyToSender ||
|
||||
- type == nsIMsgCompType::ReplyToGroup || type == nsIMsgCompType::ReplyToSenderAndGroup) && mQuoteOriginal)
|
||||
+ if (mHeaders && (type == nsIMsgCompType::Reply ||
|
||||
+ type == nsIMsgCompType::ReplyAll ||
|
||||
+ type == nsIMsgCompType::ReplyToList ||
|
||||
+ type == nsIMsgCompType::ReplyToSender ||
|
||||
+ type == nsIMsgCompType::ReplyToGroup ||
|
||||
+ type == nsIMsgCompType::ReplyToSenderAndGroup) && mQuoteOriginal)
|
||||
{
|
||||
nsCOMPtr<nsIMsgCompFields> compFields;
|
||||
compose->GetCompFields(getter_AddRefs(compFields));
|
||||
if (compFields)
|
||||
{
|
||||
aCharset.AssignLiteral("UTF-8");
|
||||
@@ -2210,12 +2215,13 @@ NS_IMETHODIMP QuotingOutputStreamListene
|
||||
nsAutoString mailReplyTo;
|
||||
nsAutoString mailFollowupTo;
|
||||
nsAutoString newgroups;
|
||||
nsAutoString followUpTo;
|
||||
nsAutoString messageId;
|
||||
nsAutoString references;
|
||||
+ nsAutoString listPost;
|
||||
nsXPIDLCString outCString;
|
||||
PRBool needToRemoveDup = PR_FALSE;
|
||||
if (!mMimeConverter)
|
||||
{
|
||||
mMimeConverter = do_GetService(NS_MIME_CONVERTER_CONTRACTID, &rv);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
@@ -2263,13 +2269,36 @@ NS_IMETHODIMP QuotingOutputStreamListene
|
||||
recipient += cc;
|
||||
compFields->SetCc(recipient);
|
||||
}
|
||||
|
||||
needToRemoveDup = PR_TRUE;
|
||||
}
|
||||
-
|
||||
+
|
||||
+ mHeaders->ExtractHeader(HEADER_LIST_POST, PR_TRUE, getter_Copies(outCString));
|
||||
+ if (!outCString.IsEmpty())
|
||||
+ mMimeConverter->DecodeMimeHeader(outCString, listPost, charset);
|
||||
+
|
||||
+ if (type == nsIMsgCompType::ReplyToList && ! listPost.IsEmpty())
|
||||
+ {
|
||||
+ nsString::const_iterator mailtoStart, mailtoEnd;
|
||||
+ listPost.BeginReading(mailtoStart);
|
||||
+ listPost.EndReading(mailtoEnd);
|
||||
+ nsAutoString mailtoText(NS_LITERAL_STRING("<mailto:"));
|
||||
+ PRBool mailtoFound = FindInReadable(mailtoText, mailtoStart, mailtoEnd);
|
||||
+
|
||||
+ // Strip off the leading "<mailto:" and trailing ">"
|
||||
+ if (mailtoFound && listPost.Equals(mailtoStart.get()) &&
|
||||
+ listPost.RFindChar('>') == listPost.Length() - 1)
|
||||
+ {
|
||||
+ listPost.Cut(0, mailtoText.Length());
|
||||
+ listPost.Cut(listPost.Length() - 1, 1);
|
||||
+
|
||||
+ compFields->SetTo(listPost);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
mHeaders->ExtractHeader(HEADER_REPLY_TO, PR_FALSE, getter_Copies(outCString));
|
||||
if (outCString)
|
||||
{
|
||||
mMimeConverter->DecodeMimeHeader(outCString, replyTo, charset);
|
||||
}
|
||||
|
||||
@@ -2300,13 +2329,14 @@ NS_IMETHODIMP QuotingOutputStreamListene
|
||||
mHeaders->ExtractHeader(HEADER_REFERENCES, PR_FALSE, getter_Copies(outCString));
|
||||
if (outCString)
|
||||
{
|
||||
mMimeConverter->DecodeMimeHeader(outCString, references, charset);
|
||||
}
|
||||
|
||||
- if (! ((type == nsIMsgCompType::ReplyAll) && ! mailFollowupTo.IsEmpty()))
|
||||
+ if (! ((type == nsIMsgCompType::ReplyAll) && ! mailFollowupTo.IsEmpty()) &&
|
||||
+ ! ((type == nsIMsgCompType::ReplyToList) && ! listPost.IsEmpty()))
|
||||
{
|
||||
if (! mailReplyTo.IsEmpty())
|
||||
{ // handle Mail-Reply-To (http://cr.yp.to/proto/replyto.html)
|
||||
compFields->SetTo(mailReplyTo);
|
||||
needToRemoveDup = PR_TRUE;
|
||||
}
|
||||
@@ -2805,12 +2835,13 @@ void nsMsgCompose::CleanUpRecipients(nsS
|
||||
NS_IMETHODIMP nsMsgCompose::RememberQueuedDisposition()
|
||||
{
|
||||
// need to find the msg hdr in the saved folder and then set a property on
|
||||
// the header that we then look at when we actually send the message.
|
||||
if (mType == nsIMsgCompType::Reply ||
|
||||
mType == nsIMsgCompType::ReplyAll ||
|
||||
+ mType == nsIMsgCompType::ReplyToList ||
|
||||
mType == nsIMsgCompType::ReplyToGroup ||
|
||||
mType == nsIMsgCompType::ReplyToSender ||
|
||||
mType == nsIMsgCompType::ReplyToSenderAndGroup ||
|
||||
mType == nsIMsgCompType::ForwardAsAttachment ||
|
||||
mType == nsIMsgCompType::ForwardInline)
|
||||
{
|
||||
@@ -2843,12 +2874,13 @@ nsresult nsMsgCompose::ProcessReplyFlags
|
||||
{
|
||||
nsresult rv;
|
||||
// check to see if we were doing a reply or a forward, if we were, set the answered field flag on the message folder
|
||||
// for this URI.
|
||||
if (mType == nsIMsgCompType::Reply ||
|
||||
mType == nsIMsgCompType::ReplyAll ||
|
||||
+ mType == nsIMsgCompType::ReplyToList ||
|
||||
mType == nsIMsgCompType::ReplyToGroup ||
|
||||
mType == nsIMsgCompType::ReplyToSender ||
|
||||
mType == nsIMsgCompType::ReplyToSenderAndGroup ||
|
||||
mType == nsIMsgCompType::ForwardAsAttachment ||
|
||||
mType == nsIMsgCompType::ForwardInline ||
|
||||
mDraftDisposition != nsIMsgFolder::nsMsgDispositionState_None)
|
||||
@@ -3775,12 +3807,13 @@ nsMsgCompose::BuildBodyMessageAndSignatu
|
||||
switch (mType)
|
||||
{
|
||||
case nsIMsgCompType::New :
|
||||
case nsIMsgCompType::MailToUrl : /* same as New */
|
||||
case nsIMsgCompType::Reply : /* should not happen! but just in case */
|
||||
case nsIMsgCompType::ReplyAll : /* should not happen! but just in case */
|
||||
+ case nsIMsgCompType::ReplyToList : /* should not happen! but just in case */
|
||||
case nsIMsgCompType::ForwardAsAttachment : /* should not happen! but just in case */
|
||||
case nsIMsgCompType::ForwardInline :
|
||||
case nsIMsgCompType::NewsPost :
|
||||
case nsIMsgCompType::ReplyToGroup :
|
||||
case nsIMsgCompType::ReplyToSender :
|
||||
case nsIMsgCompType::ReplyToSenderAndGroup :
|
||||
|
@ -1,11 +1,11 @@
|
||||
Index: toolkit/mozapps/extensions/src/nsExtensionManager.js.in
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/toolkit/mozapps/extensions/src/nsExtensionManager.js.in,v
|
||||
retrieving revision 1.144.2.16
|
||||
diff -u -p -6 -r1.144.2.16 nsExtensionManager.js.in
|
||||
--- toolkit/mozapps/extensions/src/nsExtensionManager.js.in 21 Oct 2005 01:27:44 -0000 1.144.2.16
|
||||
+++ toolkit/mozapps/extensions/src/nsExtensionManager.js.in 28 Dec 2005 06:58:07 -0000
|
||||
@@ -118,12 +118,13 @@ const OP_NEEDS_UPGRADE =
|
||||
retrieving revision 1.144.2.52
|
||||
diff -u -p -6 -r1.144.2.52 nsExtensionManager.js.in
|
||||
--- toolkit/mozapps/extensions/src/nsExtensionManager.js.in 29 Jun 2006 20:11:57 -0000 1.144.2.52
|
||||
+++ toolkit/mozapps/extensions/src/nsExtensionManager.js.in 20 Jul 2006 07:23:39 -0000
|
||||
@@ -116,12 +116,13 @@ const OP_NEEDS_UPGRADE =
|
||||
const OP_NEEDS_UNINSTALL = "needs-uninstall";
|
||||
const OP_NEEDS_ENABLE = "needs-enable";
|
||||
const OP_NEEDS_DISABLE = "needs-disable";
|
||||
@ -19,7 +19,7 @@ diff -u -p -6 -r1.144.2.16 nsExtensionManager.js.in
|
||||
const PREFIX_NS_EM = "http://www.mozilla.org/2004/em-rdf#";
|
||||
const PREFIX_NS_CHROME = "http://www.mozilla.org/rdf/chrome#";
|
||||
const PREFIX_ITEM_URI = "urn:mozilla:item:";
|
||||
@@ -2215,12 +2216,22 @@ function ExtensionManager() {
|
||||
@@ -2671,12 +2672,23 @@ function ExtensionManager() {
|
||||
var priority = nsIInstallLocation.PRIORITY_APP_PROFILE;
|
||||
var profileLocation = new DirectoryInstallLocation(KEY_APP_PROFILE,
|
||||
appProfileExtensions, false,
|
||||
@ -35,6 +35,7 @@ diff -u -p -6 -r1.144.2.16 nsExtensionManager.js.in
|
||||
+ priority);
|
||||
+ InstallLocations.put(systemLocation);
|
||||
+ } catch (e) {}
|
||||
+
|
||||
+
|
||||
#ifdef XP_WIN
|
||||
// Register HKEY_LOCAL_MACHINE Install Location
|
||||
@ -42,10 +43,10 @@ diff -u -p -6 -r1.144.2.16 nsExtensionManager.js.in
|
||||
new WinRegInstallLocation("winreg-app-global",
|
||||
nsIWindowsRegKey.ROOT_KEY_LOCAL_MACHINE,
|
||||
true,
|
||||
@@ -3236,13 +3247,13 @@ ExtensionManager.prototype = {
|
||||
"{641d8d09-7dda-4850-8228-ac0ab65e2ac9}"]);
|
||||
if (profileDOMi && profileDOMi.exists())
|
||||
removeDirRecursive(profileDOMi);
|
||||
@@ -3830,13 +3842,13 @@ ExtensionManager.prototype = {
|
||||
// toolkit 1.8 extension datasource.
|
||||
if (dsExists)
|
||||
return;
|
||||
|
||||
// Prepare themes for installation
|
||||
// Only enumerate directories in the app-profile and app-global locations.
|
||||
@ -57,7 +58,7 @@ diff -u -p -6 -r1.144.2.16 nsExtensionManager.js.in
|
||||
continue;
|
||||
|
||||
var entries = location.itemLocations;
|
||||
@@ -3300,13 +3311,14 @@ ExtensionManager.prototype = {
|
||||
@@ -3896,13 +3908,14 @@ ExtensionManager.prototype = {
|
||||
if (this._checkForFileChanges()) {
|
||||
// Create a list of all items that are to be installed so we can migrate
|
||||
// these items's settings to the new datasource.
|
||||
@ -73,7 +74,7 @@ diff -u -p -6 -r1.144.2.16 nsExtensionManager.js.in
|
||||
}
|
||||
|
||||
// If there are no items to migrate settings for return early.
|
||||
@@ -4303,13 +4315,14 @@ ExtensionManager.prototype = {
|
||||
@@ -4881,13 +4894,14 @@ ExtensionManager.prototype = {
|
||||
var restartRequired = this.installRequiresRestart(id, ds.getItemProperty(id, "type"))
|
||||
this._updateManifests(restartRequired);
|
||||
return;
|
||||
|
@ -1,54 +0,0 @@
|
||||
From: Wolfgang Rosenauer <stark@suse.de>
|
||||
Subject: fixes for build --with-system-nspr
|
||||
References:
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=296819
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=290923
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=288647
|
||||
|
||||
Index: security/coreconf/location.mk
|
||||
===================================================================
|
||||
--- security/coreconf/location.mk.orig
|
||||
+++ security/coreconf/location.mk
|
||||
@@ -61,6 +61,8 @@ endif
|
||||
|
||||
DIST = $(SOURCE_PREFIX)/$(PLATFORM)
|
||||
|
||||
+NSPR_LIBDIR = $(DIST)/lib
|
||||
+
|
||||
ifdef BUILD_DEBUG_GC
|
||||
DEFINES += -DDEBUG_GC
|
||||
endif
|
||||
Index: security/manager/Makefile.in
|
||||
===================================================================
|
||||
--- security/manager/Makefile.in.orig
|
||||
+++ security/manager/Makefile.in
|
||||
@@ -114,13 +114,25 @@ FREEBL_64INT_CHK = libfreebl_64int_3.chk
|
||||
FREEBL_64FPU_LIB = libfreebl_64fpu_3$(DLL_SUFFIX)
|
||||
FREEBL_64FPU_CHK = libfreebl_64fpu_3.chk
|
||||
endif
|
||||
-
|
||||
+
|
||||
+# Hmm, hope this is ok.
|
||||
+ABS_DIST := $(shell cd $(DIST) && pwd)
|
||||
+ifeq ($(OS_ARCH),WINNT)
|
||||
+ABS_DIST := $(shell cygpath -w $(ABS_DIST) | sed -e 's|\\\\|/|g')
|
||||
+endif
|
||||
+NSPR_LIBDIR = $(firstword $(filter -L%,$(NSPR_LIBS)))
|
||||
+ifneq (,$(strip $(NSPR_LIBDIR)))
|
||||
+NSPR_LIBDIR := $(subst -L,,$(subst -L$(DIST),-L$(ABS_DIST),$(NSPR_LIBDIR)))
|
||||
+else
|
||||
+NSPR_LIBDIR = $(ABS_DIST)/lib
|
||||
+endif
|
||||
# NSS makefiles are not safe for parallel execution.
|
||||
DEFAULT_GMAKE_FLAGS = MAKE="$(MAKE) -j1" -j1
|
||||
DEFAULT_GMAKE_FLAGS += CC="$(CC)"
|
||||
-DEFAULT_GMAKE_FLAGS += MOZILLA_INCLUDES="-I$(MOZ_BUILD_ROOT)/dist/include/nspr -I$(MOZ_BUILD_ROOT)/dist/include/dbm"
|
||||
-DEFAULT_GMAKE_FLAGS += SOURCE_MD_DIR=$(MOZ_BUILD_ROOT)/dist
|
||||
-DEFAULT_GMAKE_FLAGS += DIST=$(MOZ_BUILD_ROOT)/dist
|
||||
+DEFAULT_GMAKE_FLAGS += MOZILLA_INCLUDES="$(subst -I$(DIST),-I$(ABS_DIST),$(NSPR_CFLAGS) -I$(DIST)/include/dbm)"
|
||||
+DEFAULT_GMAKE_FLAGS += SOURCE_MD_DIR=$(ABS_DIST)
|
||||
+DEFAULT_GMAKE_FLAGS += DIST=$(ABS_DIST)
|
||||
+DEFAULT_GMAKE_FLAGS += NSPR_LIBDIR=$(NSPR_LIBDIR)
|
||||
DEFAULT_GMAKE_FLAGS += MOZILLA_CLIENT=1
|
||||
DEFAULT_GMAKE_FLAGS += NO_MDUPDATE=1
|
||||
ABS_topsrcdir := $(shell cd $(topsrcdir); pwd)
|
627
system-nss.patch
627
system-nss.patch
@ -1,627 +0,0 @@
|
||||
Index: mozilla/configure.in
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/configure.in,v
|
||||
retrieving revision 1.1503.2.15
|
||||
diff -u -r1.1503.2.15 configure.in
|
||||
--- mozilla/configure.in 4 Oct 2005 05:53:49 -0000 1.1503.2.15
|
||||
+++ configure.in 15 Dec 2005 05:40:40 -0000
|
||||
@@ -86,6 +86,7 @@
|
||||
MOZPNG=10207
|
||||
MOZZLIB=1.2.3
|
||||
NSPR_VERSION=4
|
||||
+NSS_VERSION=3
|
||||
|
||||
dnl Set the minimum version of toolkit libs used by mozilla
|
||||
dnl ========================================================
|
||||
@@ -3472,6 +3473,19 @@
|
||||
fi
|
||||
fi
|
||||
|
||||
+dnl ========================================================
|
||||
+dnl = If NSS was not detected in the system,
|
||||
+dnl = use the one in the source tree (mozilla/security/nss)
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-nss,
|
||||
+[ --with-system-nss Use system installed NSS],
|
||||
+ _USE_SYSTEM_NSS=1 )
|
||||
+
|
||||
+if test -n "$_USE_SYSTEM_NSS"; then
|
||||
+ AM_PATH_NSS(3.0.0, [MOZ_NATIVE_NSS=1], [MOZ_NATIVE_NSS=])
|
||||
+fi
|
||||
+
|
||||
if test -z "$SKIP_LIBRARY_CHECKS"; then
|
||||
dnl system JPEG support
|
||||
dnl ========================================================
|
||||
@@ -6698,6 +6712,10 @@
|
||||
AC_SUBST(NSPR_LIBS)
|
||||
AC_SUBST(MOZ_NATIVE_NSPR)
|
||||
|
||||
+AC_SUBST(NSS_CFLAGS)
|
||||
+AC_SUBST(NSS_LIBS)
|
||||
+AC_SUBST(MOZ_NATIVE_NSS)
|
||||
+
|
||||
AC_SUBST(CFLAGS)
|
||||
AC_SUBST(CXXFLAGS)
|
||||
AC_SUBST(CPPFLAGS)
|
||||
Index: mozilla/aclocal.m4
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/aclocal.m4,v
|
||||
retrieving revision 1.14
|
||||
diff -u -r1.14 aclocal.m4
|
||||
--- mozilla/aclocal.m4 13 May 2004 03:12:47 -0000 1.14
|
||||
+++ aclocal.m4 15 Dec 2005 05:40:53 -0000
|
||||
@@ -8,6 +8,7 @@
|
||||
builtin(include, build/autoconf/libIDL.m4)dnl
|
||||
builtin(include, build/autoconf/libIDL-2.m4)dnl
|
||||
builtin(include, build/autoconf/nspr.m4)dnl
|
||||
+builtin(include, build/autoconf/nss.m4)dnl
|
||||
builtin(include, build/autoconf/libart.m4)dnl
|
||||
builtin(include, build/autoconf/pkg.m4)dnl
|
||||
builtin(include, build/autoconf/freetype2.m4)dnl
|
||||
Index: mozilla/config/autoconf.mk.in
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/config/autoconf.mk.in,v
|
||||
retrieving revision 3.363.2.1
|
||||
diff -u -r3.363.2.1 autoconf.mk.in
|
||||
--- mozilla/config/autoconf.mk.in 17 Aug 2005 17:17:17 -0000 3.363.2.1
|
||||
+++ config/autoconf.mk.in 15 Dec 2005 05:40:53 -0000
|
||||
@@ -229,6 +229,7 @@
|
||||
MOZ_INSURE_EXCLUDE_DIRS = @MOZ_INSURE_EXCLUDE_DIRS@
|
||||
|
||||
MOZ_NATIVE_NSPR = @MOZ_NATIVE_NSPR@
|
||||
+MOZ_NATIVE_NSS = @MOZ_NATIVE_NSS@
|
||||
|
||||
CROSS_COMPILE = @CROSS_COMPILE@
|
||||
|
||||
@@ -384,6 +385,48 @@
|
||||
NSPR_CFLAGS = @NSPR_CFLAGS@
|
||||
NSPR_LIBS = @NSPR_LIBS@
|
||||
|
||||
+NSS_CONFIG = @NSS_CONFIG@
|
||||
+NSS_CFLAGS = @NSS_CFLAGS@
|
||||
+NSS_LIBS = @NSS_LIBS@
|
||||
+
|
||||
+ifdef MOZ_NATIVE_NSS
|
||||
+NSS_DEP_LIBS = \
|
||||
+ $(NULL)
|
||||
+NSS_LIBS += \
|
||||
+ -lcrmf \
|
||||
+ $(NULL)
|
||||
+else
|
||||
+NSS_DEP_LIBS = \
|
||||
+ $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
|
||||
+ $(DIST)/lib/$(DLL_PREFIX)smime3$(DLL_SUFFIX) \
|
||||
+ $(DIST)/lib/$(DLL_PREFIX)ssl3$(DLL_SUFFIX) \
|
||||
+ $(DIST)/lib/$(DLL_PREFIX)nss3$(DLL_SUFFIX) \
|
||||
+ $(DIST)/lib/$(DLL_PREFIX)softokn3$(DLL_SUFFIX) \
|
||||
+ $(NULL)
|
||||
+NSS_LIBS = \
|
||||
+ $(LIBS_DIR) \
|
||||
+ $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
|
||||
+ -lsmime3 \
|
||||
+ -lssl3 \
|
||||
+ -lnss3 \
|
||||
+ -lsoftokn3 \
|
||||
+ $(NULL)
|
||||
+endif
|
||||
+
|
||||
+ifneq (,$(filter OS2 WINNT WINCE, $(OS_ARCH)))
|
||||
+ifndef GNU_CC
|
||||
+ifndef MOZ_NATIVE_NSS
|
||||
+NSS_LIBS = \
|
||||
+ $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
|
||||
+ $(DIST)/lib/$(LIB_PREFIX)smime3.$(IMPORT_LIB_SUFFIX) \
|
||||
+ $(DIST)/lib/$(LIB_PREFIX)ssl3.$(IMPORT_LIB_SUFFIX) \
|
||||
+ $(DIST)/lib/$(LIB_PREFIX)nss3.$(IMPORT_LIB_SUFFIX) \
|
||||
+ $(DIST)/lib/$(LIB_PREFIX)softokn3.$(IMPORT_LIB_SUFFIX) \
|
||||
+ $(NULL)
|
||||
+endif
|
||||
+endif
|
||||
+endif
|
||||
+
|
||||
LDAP_CFLAGS = @LDAP_CFLAGS@
|
||||
LDAP_LIBS = @LDAP_LIBS@
|
||||
XPCOM_GLUE_LDOPTS = @XPCOM_GLUE_LDOPTS@
|
||||
Index: mozilla/config/config.mk
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/config/config.mk,v
|
||||
retrieving revision 3.337
|
||||
diff -u -r3.337 config.mk
|
||||
--- mozilla/config/config.mk 28 Jul 2005 19:48:11 -0000 3.337
|
||||
+++ config/config.mk 15 Dec 2005 05:40:54 -0000
|
||||
@@ -138,39 +138,6 @@
|
||||
FINAL_LINK_COMPS = $(DEPTH)/config/final-link-comps
|
||||
FINAL_LINK_COMP_NAMES = $(DEPTH)/config/final-link-comp-names
|
||||
|
||||
-#
|
||||
-# NSS libs needed for final link in static build
|
||||
-#
|
||||
-
|
||||
-NSS_LIBS = \
|
||||
- $(LIBS_DIR) \
|
||||
- $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
|
||||
- -lsmime3 \
|
||||
- -lssl3 \
|
||||
- -lnss3 \
|
||||
- -lsoftokn3 \
|
||||
- $(NULL)
|
||||
-
|
||||
-ifneq (,$(filter OS2 WINNT WINCE, $(OS_ARCH)))
|
||||
-ifndef GNU_CC
|
||||
-NSS_LIBS = \
|
||||
- $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
|
||||
- $(DIST)/lib/$(LIB_PREFIX)smime3.$(IMPORT_LIB_SUFFIX) \
|
||||
- $(DIST)/lib/$(LIB_PREFIX)ssl3.$(IMPORT_LIB_SUFFIX) \
|
||||
- $(DIST)/lib/$(LIB_PREFIX)nss3.$(IMPORT_LIB_SUFFIX) \
|
||||
- $(DIST)/lib/$(LIB_PREFIX)softokn3.$(IMPORT_LIB_SUFFIX) \
|
||||
- $(NULL)
|
||||
-endif
|
||||
-endif
|
||||
-
|
||||
-NSS_DEP_LIBS = \
|
||||
- $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
|
||||
- $(DIST)/lib/$(DLL_PREFIX)smime3$(DLL_SUFFIX) \
|
||||
- $(DIST)/lib/$(DLL_PREFIX)ssl3$(DLL_SUFFIX) \
|
||||
- $(DIST)/lib/$(DLL_PREFIX)nss3$(DLL_SUFFIX) \
|
||||
- $(DIST)/lib/$(DLL_PREFIX)softokn3$(DLL_SUFFIX) \
|
||||
- $(NULL)
|
||||
-
|
||||
MOZ_UNICHARUTIL_LIBS = $(DIST)/lib/$(LIB_PREFIX)unicharutil_s.$(LIB_SUFFIX)
|
||||
MOZ_REGISTRY_LIBS = $(DIST)/lib/$(LIB_PREFIX)mozreg_s.$(LIB_SUFFIX)
|
||||
MOZ_WIDGET_SUPPORT_LIBS = $(DIST)/lib/$(LIB_PREFIX)widgetsupport_s.$(LIB_SUFFIX)
|
||||
Index: mozilla/build/autoconf/nss.m4
|
||||
===================================================================
|
||||
RCS file: mozilla/build/autoconf/nss.m4
|
||||
diff -N mozilla/build/autoconf/nss.m4
|
||||
--- /dev/null 1 Jan 1970 00:00:00 -0000
|
||||
+++ build/autoconf/nss.m4 15 Dec 2005 05:40:54 -0000
|
||||
@@ -0,0 +1,67 @@
|
||||
+# -*- tab-width: 4; -*-
|
||||
+# Configure paths for NSS
|
||||
+# Public domain - Chris Seawood <cls@seawood.org> 2001-04-05
|
||||
+# Based upon gtk.m4 (also PD) by Owen Taylor
|
||||
+
|
||||
+dnl AM_PATH_NSS([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
|
||||
+dnl Test for NSS, and define NSS_CFLAGS and NSS_LIBS
|
||||
+AC_DEFUN(AM_PATH_NSS,
|
||||
+[dnl
|
||||
+
|
||||
+AC_ARG_WITH(nss-prefix,
|
||||
+ [ --with-nss-prefix=PFX Prefix where NSS is installed],
|
||||
+ nss_config_prefix="$withval",
|
||||
+ nss_config_prefix="")
|
||||
+
|
||||
+AC_ARG_WITH(nss-exec-prefix,
|
||||
+ [ --with-nss-exec-prefix=PFX
|
||||
+ Exec prefix where NSS is installed],
|
||||
+ nss_config_exec_prefix="$withval",
|
||||
+ nss_config_exec_prefix="")
|
||||
+
|
||||
+ if test -n "$nss_config_exec_prefix"; then
|
||||
+ nss_config_args="$nss_config_args --exec-prefix=$nss_config_exec_prefix"
|
||||
+ if test -z "$NSS_CONFIG"; then
|
||||
+ NSS_CONFIG=$nss_config_exec_prefix/bin/nss-config
|
||||
+ fi
|
||||
+ fi
|
||||
+ if test -n "$nss_config_prefix"; then
|
||||
+ nss_config_args="$nss_config_args --prefix=$nss_config_prefix"
|
||||
+ if test -z "$NSS_CONFIG"; then
|
||||
+ NSS_CONFIG=$nss_config_prefix/bin/nss-config
|
||||
+ fi
|
||||
+ fi
|
||||
+
|
||||
+ unset ac_cv_path_NSS_CONFIG
|
||||
+ AC_PATH_PROG(NSS_CONFIG, nss-config, no)
|
||||
+ min_nss_version=ifelse([$1], ,3.0.0,$1)
|
||||
+ AC_MSG_CHECKING(for NSS - version >= $min_nss_version (skipping))
|
||||
+
|
||||
+ no_nss=""
|
||||
+ if test "$NSS_CONFIG" = "no"; then
|
||||
+ no_nss="yes"
|
||||
+ else
|
||||
+ NSS_CFLAGS=`$NSS_CONFIG $nss_config_args --cflags`
|
||||
+ NSS_LIBS=`$NSS_CONFIG $nss_config_args --libs`
|
||||
+
|
||||
+ dnl Skip version check for now
|
||||
+ nss_config_major_version=`$NSS_CONFIG $nss_config_args --version | \
|
||||
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
|
||||
+ nss_config_minor_version=`$NSS_CONFIG $nss_config_args --version | \
|
||||
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
|
||||
+ nss_config_micro_version=`$NSS_CONFIG $nss_config_args --version | \
|
||||
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
|
||||
+ fi
|
||||
+
|
||||
+ if test -z "$no_nss"; then
|
||||
+ AC_MSG_RESULT(yes)
|
||||
+ ifelse([$2], , :, [$2])
|
||||
+ else
|
||||
+ AC_MSG_RESULT(no)
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+ AC_SUBST(NSS_CFLAGS)
|
||||
+ AC_SUBST(NSS_LIBS)
|
||||
+
|
||||
+])
|
||||
Index: mozilla/security/manager/Makefile.in
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/security/manager/Makefile.in,v
|
||||
retrieving revision 1.57
|
||||
diff -u -r1.57 Makefile.in
|
||||
--- mozilla/security/manager/Makefile.in 2 Jun 2005 02:03:05 -0000 1.57
|
||||
+++ security/manager/Makefile.in 15 Dec 2005 05:40:54 -0000
|
||||
@@ -46,6 +46,8 @@
|
||||
MODULE = psm
|
||||
|
||||
PACKAGE_FILE = psm.pkg
|
||||
+
|
||||
+ifndef MOZ_NATIVE_NSS
|
||||
PACKAGE_VARS += \
|
||||
NSS3_LIB \
|
||||
SMIME3_LIB \
|
||||
@@ -57,6 +59,7 @@
|
||||
$(NULL)
|
||||
|
||||
LOADABLE_ROOT_MODULE = $(DLL_PREFIX)nssckbi$(DLL_SUFFIX)
|
||||
+endif
|
||||
|
||||
NSS3_LIB = $(DLL_PREFIX)nss3$(DLL_SUFFIX)
|
||||
SMIME3_LIB = $(DLL_PREFIX)smime3$(DLL_SUFFIX)
|
||||
@@ -147,6 +150,7 @@
|
||||
export:: .nss.cleaned
|
||||
|
||||
.nss.cleaned: .nss.checkout
|
||||
+ifndef MOZ_NATIVE_NSS
|
||||
$(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean
|
||||
$(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) clean
|
||||
ifndef SKIP_CHK
|
||||
@@ -154,9 +158,12 @@
|
||||
$(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) clean
|
||||
endif
|
||||
touch $@
|
||||
+endif
|
||||
|
||||
.nss.checkout:
|
||||
+ifndef MOZ_NATIVE_NSS
|
||||
touch $(srcdir)/$@
|
||||
+endif
|
||||
|
||||
dependclean export packages chrome::
|
||||
$(MAKE) -C boot $@
|
||||
@@ -167,12 +174,15 @@
|
||||
endif
|
||||
|
||||
libs::
|
||||
+ifndef MOZ_NATIVE_NSS
|
||||
$(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS)
|
||||
+endif
|
||||
ifeq ($(OS_ARCH),WINNT)
|
||||
cd $(DIST)/lib; cp -f $(LIB_PREFIX)dbm$(MOZ_BITS).$(LIB_SUFFIX) $(LIB_PREFIX)dbm.$(LIB_SUFFIX)
|
||||
else
|
||||
cd $(DIST)/lib; cp -f $(LIB_PREFIX)mozdbm_s.$(LIB_SUFFIX) $(LIB_PREFIX)dbm.$(LIB_SUFFIX); $(RANLIB) $(LIB_PREFIX)dbm.$(LIB_SUFFIX)
|
||||
endif
|
||||
+ifndef MOZ_NATIVE_NSS
|
||||
$(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS)
|
||||
ifndef SKIP_CHK
|
||||
$(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS)
|
||||
@@ -210,6 +220,7 @@
|
||||
$(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_HYBRID_MODULE) $(DIST)/bin
|
||||
endif
|
||||
endif
|
||||
+endif
|
||||
$(MAKE) -C boot $@
|
||||
$(MAKE) -C ssl $@
|
||||
$(MAKE) -C locales $@
|
||||
@@ -218,6 +229,7 @@
|
||||
endif
|
||||
|
||||
install::
|
||||
+ifndef MOZ_NATIVE_NSS
|
||||
$(SYSINSTALL) -m 755 $(DIST)/lib/$(LOADABLE_ROOT_MODULE) $(DESTDIR)$(mozappdir)
|
||||
ifndef SKIP_CHK
|
||||
$(SYSINSTALL) -m 644 $(DIST)/lib/$(SOFTOKEN3_CHK) $(DESTDIR)$(mozappdir)
|
||||
@@ -232,6 +244,7 @@
|
||||
$(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_HYBRID_CHK) $(DESTDIR)$(mozappdir)
|
||||
$(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_HYBRID_MODULE) $(DESTDIR)$(mozappdir)
|
||||
endif
|
||||
+endif
|
||||
$(MAKE) -C boot $@
|
||||
$(MAKE) -C ssl $@
|
||||
$(MAKE) -C locales $@
|
||||
@@ -246,15 +259,18 @@
|
||||
ifdef MOZ_XUL
|
||||
$(MAKE) -C pki $@
|
||||
endif
|
||||
+ifndef MOZ_NATIVE_NSS
|
||||
$(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean
|
||||
$(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) clean
|
||||
ifndef SKIP_CHK
|
||||
$(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS) clean
|
||||
$(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) clean
|
||||
endif
|
||||
+endif
|
||||
|
||||
echo-requires-recursive::
|
||||
$(MAKE) -C boot $@
|
||||
$(MAKE) -C ssl $@
|
||||
$(MAKE) -C pki $@
|
||||
$(MAKE) -C locales $@
|
||||
+
|
||||
Index: mozilla/security/manager/ssl/src/Makefile.in
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/security/manager/ssl/src/Makefile.in,v
|
||||
retrieving revision 1.67
|
||||
diff -u -r1.67 Makefile.in
|
||||
--- mozilla/security/manager/ssl/src/Makefile.in 3 Aug 2005 05:24:18 -0000 1.67
|
||||
+++ security/manager/ssl/src/Makefile.in 15 Dec 2005 05:40:56 -0000
|
||||
@@ -123,8 +123,13 @@
|
||||
|
||||
# Use local includes because they are inserted before INCLUDES
|
||||
# so that Mozilla's nss.h is used, not glibc's
|
||||
+ifdef MOZ_NATIVE_NSS
|
||||
+LOCAL_INCLUDES += $(NSS_CFLAGS) \
|
||||
+ $(NULL)
|
||||
+else
|
||||
LOCAL_INCLUDES += -I$(DIST)/public/nss \
|
||||
$(NULL)
|
||||
+endif
|
||||
|
||||
EXTRA_DSO_LDOPTS += \
|
||||
$(MOZ_UNICHARUTIL_LIBS) \
|
||||
Index: mozilla/security/manager/ssl/src/nsNSSComponent.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/security/manager/ssl/src/nsNSSComponent.cpp,v
|
||||
retrieving revision 1.126.2.1
|
||||
diff -u -r1.126.2.1 nsNSSComponent.cpp
|
||||
--- mozilla/security/manager/ssl/src/nsNSSComponent.cpp 26 Aug 2005 06:41:50 -0000 1.126.2.1
|
||||
+++ security/manager/ssl/src/nsNSSComponent.cpp 15 Dec 2005 05:41:00 -0000
|
||||
@@ -488,14 +488,6 @@
|
||||
}
|
||||
|
||||
|
||||
-#ifdef XP_MAC
|
||||
-#ifdef DEBUG
|
||||
-#define LOADABLE_CERTS_MODULE NS_LITERAL_CSTRING("NSSckbiDebug.shlb")
|
||||
-#else
|
||||
-#define LOADABLE_CERTS_MODULE NS_LITERAL_CSTRING("NSSckbi.shlb")
|
||||
-#endif /*DEBUG*/
|
||||
-#endif /*XP_MAC*/
|
||||
-
|
||||
static void setOCSPOptions(nsIPrefBranch * pref);
|
||||
|
||||
NS_IMETHODIMP
|
||||
@@ -689,40 +681,40 @@
|
||||
|
||||
const char *possible_ckbi_locations[] = {
|
||||
NS_GRE_DIR,
|
||||
- NS_XPCOM_CURRENT_PROCESS_DIR
|
||||
+ NS_XPCOM_CURRENT_PROCESS_DIR,
|
||||
+ 0
|
||||
};
|
||||
-
|
||||
+
|
||||
for (size_t il = 0; il < sizeof(possible_ckbi_locations)/sizeof(const char*); ++il) {
|
||||
nsCOMPtr<nsILocalFile> mozFile;
|
||||
- directoryService->Get( possible_ckbi_locations[il],
|
||||
- NS_GET_IID(nsILocalFile),
|
||||
- getter_AddRefs(mozFile));
|
||||
+ char *fullModuleName = nsnull;
|
||||
+
|
||||
+ if (!possible_ckbi_locations[il])
|
||||
+ {
|
||||
+ fullModuleName = PR_GetLibraryName(nsnull, "nssckbi");
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ directoryService->Get( possible_ckbi_locations[il],
|
||||
+ NS_GET_IID(nsILocalFile),
|
||||
+ getter_AddRefs(mozFile));
|
||||
|
||||
- if (!mozFile) {
|
||||
- continue;
|
||||
+ if (!mozFile) {
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
+ nsCAutoString processDir;
|
||||
+ mozFile->GetNativePath(processDir);
|
||||
+ fullModuleName = PR_GetLibraryName(processDir.get(), "nssckbi");
|
||||
}
|
||||
|
||||
- char *fullModuleName = nsnull;
|
||||
-#ifdef XP_MAC
|
||||
- nsCAutoString nativePath;
|
||||
- mozFile->AppendNative(NS_LITERAL_CSTRING("Essential Files"));
|
||||
- mozFile->AppendNative(LOADABLE_CERTS_MODULE);
|
||||
- mozFile->GetNativePath(nativePath);
|
||||
- fullModuleName = (char *) nativePath.get();
|
||||
-#else
|
||||
- nsCAutoString processDir;
|
||||
- mozFile->GetNativePath(processDir);
|
||||
- fullModuleName = PR_GetLibraryName(processDir.get(), "nssckbi");
|
||||
-#endif
|
||||
/* If a module exists with the same name, delete it. */
|
||||
NS_ConvertUCS2toUTF8 modNameUTF8(modName);
|
||||
int modType;
|
||||
SECMOD_DeleteModule(NS_CONST_CAST(char*, modNameUTF8.get()), &modType);
|
||||
SECStatus rv_add =
|
||||
SECMOD_AddNewModule(NS_CONST_CAST(char*, modNameUTF8.get()), fullModuleName, 0, 0);
|
||||
-#ifndef XP_MAC
|
||||
- PR_Free(fullModuleName); // allocated by NSPR
|
||||
-#endif
|
||||
+ PR_FreeLibraryName(fullModuleName); // allocated by NSPR
|
||||
if (SECSuccess == rv_add) {
|
||||
// found a module, no need to try other directories
|
||||
break;
|
||||
Index: configure
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/configure,v
|
||||
retrieving revision 1.1492.2.17.2.3
|
||||
diff -u -r1.1492.2.17.2.3 configure
|
||||
--- configure 11 Jan 2006 05:43:03 -0000 1.1492.2.17.2.3
|
||||
+++ configure 11 Jan 2006 22:12:39 -0000
|
||||
@@ -44,6 +44,13 @@
|
||||
--with-nspr-exec-prefix=PFX
|
||||
Exec prefix where NSPR is installed"
|
||||
ac_help="$ac_help
|
||||
+ --with-system-nss Use system installed NSS"
|
||||
+ac_help="$ac_help
|
||||
+ --with-nss-prefix=PFX Prefix where NSS is installed"
|
||||
+ac_help="$ac_help
|
||||
+ --with-nss-exec-prefix=PFX
|
||||
+ Exec prefix where NSS is installed"
|
||||
+ac_help="$ac_help
|
||||
--with-system-jpeg[=PFX]
|
||||
Use system libjpeg [installed at prefix PFX]"
|
||||
ac_help="$ac_help
|
||||
@@ -1023,6 +1030,7 @@
|
||||
MOZPNG=10207
|
||||
MOZZLIB=1.2.3
|
||||
NSPR_VERSION=4
|
||||
+NSS_VERSION=3
|
||||
|
||||
GLIB_VERSION=1.2.0
|
||||
GTK_VERSION=1.2.0
|
||||
@@ -11308,6 +11316,123 @@
|
||||
fi
|
||||
fi
|
||||
|
||||
+
|
||||
+# Check whether --with-system-nss or --without-system-nss was given.
|
||||
+if test "${with_system_nss+set}" = set; then
|
||||
+ withval="$with_system_nss"
|
||||
+ if test "$withval" = "yes"; then
|
||||
+ _USE_SYSTEM_NSS=1
|
||||
+ elif test "$withval" = "no"; then
|
||||
+ :
|
||||
+ else
|
||||
+ { echo "configure: error: Option, system-nss, does not take an argument ($withval)." 1>&2; exit 1; }
|
||||
+ fi
|
||||
+fi
|
||||
+
|
||||
+
|
||||
+if test -n "$_USE_SYSTEM_NSS"; then
|
||||
+
|
||||
+# Check whether --with-nss-prefix or --without-nss-prefix was given.
|
||||
+if test "${with_nss_prefix+set}" = set; then
|
||||
+ withval="$with_nss_prefix"
|
||||
+ nss_config_prefix="$withval"
|
||||
+else
|
||||
+ nss_config_prefix=""
|
||||
+fi
|
||||
+
|
||||
+
|
||||
+# Check whether --with-nss-exec-prefix or --without-nss-exec-prefix was given.
|
||||
+if test "${with_nss_exec_prefix+set}" = set; then
|
||||
+ withval="$with_nss_exec_prefix"
|
||||
+ nss_config_exec_prefix="$withval"
|
||||
+else
|
||||
+ nss_config_exec_prefix=""
|
||||
+fi
|
||||
+
|
||||
+
|
||||
+ if test -n "$nss_config_exec_prefix"; then
|
||||
+ nss_config_args="$nss_config_args --exec-prefix=$nss_config_exec_prefix"
|
||||
+ if test -z "$NSS_CONFIG"; then
|
||||
+ NSS_CONFIG=$nss_config_exec_prefix/bin/nss-config
|
||||
+ fi
|
||||
+ fi
|
||||
+ if test -n "$nss_config_prefix"; then
|
||||
+ nss_config_args="$nss_config_args --prefix=$nss_config_prefix"
|
||||
+ if test -z "$NSS_CONFIG"; then
|
||||
+ NSS_CONFIG=$nss_config_prefix/bin/nss-config
|
||||
+ fi
|
||||
+ fi
|
||||
+
|
||||
+ unset ac_cv_path_NSS_CONFIG
|
||||
+ # Extract the first word of "nss-config", so it can be a program name with args.
|
||||
+set dummy nss-config; ac_word=$2
|
||||
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
+echo "configure:11371: checking for $ac_word" >&5
|
||||
+if eval "test \"`echo '$''{'ac_cv_path_NSS_CONFIG'+set}'`\" = set"; then
|
||||
+ echo $ac_n "(cached) $ac_c" 1>&6
|
||||
+else
|
||||
+ case "$NSS_CONFIG" in
|
||||
+ /*)
|
||||
+ ac_cv_path_NSS_CONFIG="$NSS_CONFIG" # Let the user override the test with a path.
|
||||
+ ;;
|
||||
+ ?:/*)
|
||||
+ ac_cv_path_NSS_CONFIG="$NSS_CONFIG" # Let the user override the test with a dos path.
|
||||
+ ;;
|
||||
+ *)
|
||||
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
|
||||
+ ac_dummy="$PATH"
|
||||
+ for ac_dir in $ac_dummy; do
|
||||
+ test -z "$ac_dir" && ac_dir=.
|
||||
+ if test -f $ac_dir/$ac_word; then
|
||||
+ ac_cv_path_NSS_CONFIG="$ac_dir/$ac_word"
|
||||
+ break
|
||||
+ fi
|
||||
+ done
|
||||
+ IFS="$ac_save_ifs"
|
||||
+ test -z "$ac_cv_path_NSS_CONFIG" && ac_cv_path_NSS_CONFIG="no"
|
||||
+ ;;
|
||||
+esac
|
||||
+fi
|
||||
+NSS_CONFIG="$ac_cv_path_NSS_CONFIG"
|
||||
+if test -n "$NSS_CONFIG"; then
|
||||
+ echo "$ac_t""$NSS_CONFIG" 1>&6
|
||||
+else
|
||||
+ echo "$ac_t""no" 1>&6
|
||||
+fi
|
||||
+
|
||||
+ min_nss_version=3.0.0
|
||||
+ echo $ac_n "checking for NSS - version >= $min_nss_version (skipping)""... $ac_c" 1>&6
|
||||
+echo "configure:11406: checking for NSS - version >= $min_nss_version (skipping)" >&5
|
||||
+
|
||||
+ no_nss=""
|
||||
+ if test "$NSS_CONFIG" = "no"; then
|
||||
+ no_nss="yes"
|
||||
+ else
|
||||
+ NSS_CFLAGS=`$NSS_CONFIG $nss_config_args --cflags`
|
||||
+ NSS_LIBS=`$NSS_CONFIG $nss_config_args --libs`
|
||||
+
|
||||
+ nss_config_major_version=`$NSS_CONFIG $nss_config_args --version | \
|
||||
+ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'`
|
||||
+ nss_config_minor_version=`$NSS_CONFIG $nss_config_args --version | \
|
||||
+ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'`
|
||||
+ nss_config_micro_version=`$NSS_CONFIG $nss_config_args --version | \
|
||||
+ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'`
|
||||
+ fi
|
||||
+
|
||||
+ if test -z "$no_nss"; then
|
||||
+ echo "$ac_t""yes" 1>&6
|
||||
+ MOZ_NATIVE_NSS=1
|
||||
+ else
|
||||
+ echo "$ac_t""no" 1>&6
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+fi
|
||||
+
|
||||
if test -z "$SKIP_LIBRARY_CHECKS"; then
|
||||
# Check whether --with-system-jpeg or --without-system-jpeg was given.
|
||||
if test "${with_system_jpeg+set}" = set; then
|
||||
@@ -19491,6 +19620,9 @@
|
||||
s%@NSPR_CONFIG@%$NSPR_CONFIG%g
|
||||
s%@NSPR_CFLAGS@%$NSPR_CFLAGS%g
|
||||
s%@NSPR_LIBS@%$NSPR_LIBS%g
|
||||
+s%@NSS_CONFIG@%$NSS_CONFIG%g
|
||||
+s%@NSS_CFLAGS@%$NSS_CFLAGS%g
|
||||
+s%@NSS_LIBS@%$NSS_LIBS%g
|
||||
s%@GTK_CONFIG@%$GTK_CONFIG%g
|
||||
s%@GTK_CFLAGS@%$GTK_CFLAGS%g
|
||||
s%@GTK_LIBS@%$GTK_LIBS%g
|
||||
@@ -19771,6 +19903,7 @@
|
||||
s%@MOZ_PNG_CFLAGS@%$MOZ_PNG_CFLAGS%g
|
||||
s%@MOZ_PNG_LIBS@%$MOZ_PNG_LIBS%g
|
||||
s%@MOZ_NATIVE_NSPR@%$MOZ_NATIVE_NSPR%g
|
||||
+s%@MOZ_NATIVE_NSS@%$MOZ_NATIVE_NSS%g
|
||||
s%@COMPILE_CFLAGS@%$COMPILE_CFLAGS%g
|
||||
s%@COMPILE_CXXFLAGS@%$COMPILE_CXXFLAGS%g
|
||||
s%@CROSS_COMPILE@%$CROSS_COMPILE%g
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7a347dadb3e84876cd99481ebb06af2e12d314683b432d6449c8d39aa3904a83
|
||||
size 36172395
|
3
thunderbird-2.0.0.0-source.tar.bz2
Normal file
3
thunderbird-2.0.0.0-source.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:135f993277d4ef294a171c344547a8867f3cd0ec69b8a95db6b36fd7c56b5f91
|
||||
size 37629763
|
@ -1,25 +1,26 @@
|
||||
Index: mail/components/shell/nsMailGNOMEIntegration.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mail/components/shell/nsMailGNOMEIntegration.cpp,v
|
||||
retrieving revision 1.8
|
||||
diff -u -p -6 -r1.8 nsMailGNOMEIntegration.cpp
|
||||
--- mail/components/shell/nsMailGNOMEIntegration.cpp 18 Jul 2005 17:51:32 -0000 1.8
|
||||
+++ mail/components/shell/nsMailGNOMEIntegration.cpp 20 Sep 2005 07:40:47 -0000
|
||||
@@ -89,12 +89,17 @@ nsMailGNOMEIntegration::Init()
|
||||
retrieving revision 1.8.2.1
|
||||
diff -u -p -6 -r1.8.2.1 nsMailGNOMEIntegration.cpp
|
||||
--- mail/components/shell/nsMailGNOMEIntegration.cpp 23 Oct 2006 03:32:47 -0000 1.8.2.1
|
||||
+++ mail/components/shell/nsMailGNOMEIntegration.cpp 19 Nov 2006 11:54:48 -0000
|
||||
@@ -94,12 +94,18 @@ nsMailGNOMEIntegration::Init()
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
rv = appPath->AppendNative(NS_LITERAL_CSTRING("thunderbird"));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
rv = appPath->GetNativePath(mAppPath);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
+
|
||||
+ /* This path of thunderbird is hardcoded for the default path setting
|
||||
+ * And the above code is not used.
|
||||
+ */
|
||||
+ mAppPath.Assign ("/usr/bin/thunderbird");
|
||||
+
|
||||
PRBool isDefault;
|
||||
nsMailGNOMEIntegration::GetIsDefaultMailClient(&isDefault);
|
||||
mShowMailDialog = !isDefault;
|
||||
return rv;
|
||||
}
|
||||
|
||||
NS_IMPL_ISUPPORTS1(nsMailGNOMEIntegration, nsIShellService)
|
||||
|
||||
|
||||
nsMailGNOMEIntegration::GetIsDefaultNewsClient(&isDefault);
|
||||
mShowNewsDialog = !isDefault;
|
||||
|
@ -1,36 +0,0 @@
|
||||
Index: widget/src/gtk2/nsWidgetFactory.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/widget/src/gtk2/nsWidgetFactory.cpp,v
|
||||
retrieving revision 1.26.12.1
|
||||
diff -u -p -6 -r1.26.12.1 nsWidgetFactory.cpp
|
||||
--- widget/src/gtk2/nsWidgetFactory.cpp 21 Apr 2006 21:43:42 -0000 1.26.12.1
|
||||
+++ widget/src/gtk2/nsWidgetFactory.cpp 25 Apr 2006 05:05:06 -0000
|
||||
@@ -52,12 +52,13 @@
|
||||
#include "nsBidiKeyboard.h"
|
||||
#include "nsNativeKeyBindings.h"
|
||||
|
||||
#include "nsIComponentRegistrar.h"
|
||||
#include "nsComponentManagerUtils.h"
|
||||
#include "nsAutoPtr.h"
|
||||
+#include "prenv.h"
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
/* from nsFilePicker.js */
|
||||
#define XULFILEPICKER_CID \
|
||||
{ 0x54ae32f8, 0x1dd2, 0x11b2, \
|
||||
{ 0xa2, 0x09, 0xdf, 0x7c, 0x50, 0x53, 0x70, 0xf8} }
|
||||
@@ -83,13 +84,13 @@ nsFilePickerConstructor(nsISupports *aOu
|
||||
*aResult = nsnull;
|
||||
if (aOuter != nsnull) {
|
||||
return NS_ERROR_NO_AGGREGATION;
|
||||
}
|
||||
|
||||
nsCOMPtr<nsIFilePicker> picker;
|
||||
- if (gtk_check_version(2,6,3) == NULL) {
|
||||
+ if ( (gtk_check_version(2,6,3) == NULL) && !PR_GetEnv("MOZ_XUL_PICKER") ) {
|
||||
picker = new nsFilePicker;
|
||||
} else {
|
||||
picker = do_CreateInstance(kXULFilePickerCID);
|
||||
}
|
||||
|
||||
if (!picker) {
|
Loading…
Reference in New Issue
Block a user