1
0
OBS User unknown 2007-06-13 22:42:39 +00:00 committed by Git OBS Bridge
parent c86da3e940
commit 7e85d3c170
23 changed files with 552 additions and 8137 deletions

View File

@ -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 Tue Jun 5 18:20:13 CEST 2007 - maw@suse.de

View File

@ -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. # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine # This file and all modifications and additions to the pristine
@ -13,7 +13,7 @@
Name: MozillaThunderbird Name: MozillaThunderbird
BuildRequires: gcc-c++ libgnomeui-devel libidl-devel mozilla-nss-devel orbit-devel unzip update-desktop-files zip 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) 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 Release: 1
Summary: The Stand-Alone Mozilla Mail Component Summary: The Stand-Alone Mozilla Mail Component
URL: http://www.mozilla.org/products/thunderbird/ URL: http://www.mozilla.org/products/thunderbird/
@ -22,19 +22,19 @@ Source: thunderbird-%{version}-source.tar.bz2
Source1: MozillaThunderbird.desktop Source1: MozillaThunderbird.desktop
Source2: add-plugins.sh.in Source2: add-plugins.sh.in
Source3: mozilla.sh.in Source3: mozilla.sh.in
Source4: l10n.tar.bz2 Source4: l10n-%{version}.tar.bz2
Source5: mailredirect-0.7.4.xpi Source5: mailredirect-0.7.4.xpi
Source6: suse-default-prefs.js Source6: suse-default-prefs.js
Source9: enigmail-0.94.2.tar.gz Source9: enigmail-0.95.0.tar.gz
Source11: enigmail.manifest Source11: enigmail.manifest
Patch1: pango-cairo.patch Patch1: replytolist.patch
Patch2: thunderbird-appname.patch Patch2: thunderbird-appname.patch
Patch3: visibility.patch Patch3: visibility.patch
Patch4: locale.patch Patch4: locale.patch
Patch5: abuild.patch Patch5: abuild.patch
Patch6: nspr-prdtoa.patch Patch6: nspr-prdtoa.patch
Patch7: enig-shared.patch Patch7: enig-shared.patch
Patch8: digest-mail.patch Patch8: gcc-undefined-ops.patch
Patch9: thunderbird-no-update.patch Patch9: thunderbird-no-update.patch
Patch10: mips-buildfix.diff Patch10: mips-buildfix.diff
Patch11: lightning.patch Patch11: lightning.patch
@ -42,21 +42,11 @@ Patch12: misc.dif
Patch13: nss-opt.patch Patch13: nss-opt.patch
Patch14: html-compose.patch Patch14: html-compose.patch
Patch15: system-extensions.patch Patch15: system-extensions.patch
Patch16: xul-picker.patch Patch16: list-replyto-clobber.patch
Patch17: remote.patch
Patch18: system-nss.patch
Patch19: system-nspr.patch
#Patch21: ppc64.patch
Patch22: cjk-postscript-fonts.dif Patch22: cjk-postscript-fonts.dif
Patch24: multi-replyto.patch
Patch25: postscript.patch Patch25: postscript.patch
Patch26: cups-paper.patch Patch26: cups-paper.patch
Patch27: print-properties.patch Patch27: thunderbird-1.5.0.8-uninitalized-vars-232305.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
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: libstdc++ fileutils textutils /bin/sh PreReq: libstdc++ fileutils textutils /bin/sh
%if %suse_version > 1000 %if %suse_version > 1000
@ -142,7 +132,7 @@ cd $RPM_BUILD_DIR/mozilla
%patch5 %patch5
%patch6 %patch6
%patch8 %patch8
%patch9 ###%patch9
%patch10 %patch10
#%patch11 #%patch11
%patch12 %patch12
@ -150,32 +140,36 @@ cd $RPM_BUILD_DIR/mozilla
%patch14 %patch14
%patch15 %patch15
%patch16 %patch16
#%patch17 # temporary disabled ### #%patch17 # temporary disabled
%if %has_system_nss ### %if %has_system_nss
%patch18 ### %patch18
%endif ### %endif
%if %has_system_nspr ### %if %has_system_nspr
%patch19 ### %patch19
%endif ### %endif
#%patch21 ### %patch21
%patch22 %patch22
%patch24 ### %patch24
%patch25 %patch25
%patch26 %patch26
%patch27 ### %patch27
%patch28 ### %patch28
%patch29 ### %patch29
%patch30 ### %patch30
%patch31 -p0 ### %patch31 -p0
%patch27 -p0
%build %build
export MOZ_BUILD_DATE=%{releasedate} export MOZ_BUILD_DATE=%{releasedate}
export MOZILLA_OFFICIAL=1 export MOZILLA_OFFICIAL=1
export BUILD_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 %if %suse_version > 1000
export CFLAGS="$CFLAGS -fstack-protector" export CFLAGS="$CFLAGS -fstack-protector"
%endif %endif
%ifarch ppc64
export CFLAGS="$CFLAGS -mminimal-toc"
%endif
export CXXFLAGS="$CFLAGS" export CXXFLAGS="$CFLAGS"
export MOZCONFIG=$RPM_BUILD_DIR/mozconfig export MOZCONFIG=$RPM_BUILD_DIR/mozconfig
cat << EOF > $MOZCONFIG cat << EOF > $MOZCONFIG
@ -191,7 +185,6 @@ ac_add_options --includedir=%{_includedir}
ac_add_options --enable-optimize="$CFLAGS" ac_add_options --enable-optimize="$CFLAGS"
ac_add_options --with-system-jpeg ac_add_options --with-system-jpeg
ac_add_options --with-system-png ac_add_options --with-system-png
ac_add_options --with-system-mng
ac_add_options --with-system-zlib ac_add_options --with-system-zlib
#ac_add_options --enable-extensions=default,lightning #ac_add_options --enable-extensions=default,lightning
ac_add_options --enable-default-toolkit=gtk2 ac_add_options --enable-default-toolkit=gtk2
@ -241,7 +234,13 @@ cp -rf $RPM_BUILD_DIR/mozilla/dist/thunderbird/* $RPM_BUILD_ROOT%{progdir}
# build additional locales # build additional locales
%if %localize %if %localize
echo %defattr\(-,root,root\) > %{_tmppath}/translations.list echo %defattr\(-,root,root\) > %{_tmppath}/translations.list
for locale in $(cat mail/locales/all-locales); do #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 make -C mail/locales libs-$locale
cp dist/xpi-stage/locale-$locale/chrome/$locale.jar \ cp dist/xpi-stage/locale-$locale/chrome/$locale.jar \
$RPM_BUILD_ROOT%{progdir}/chrome $RPM_BUILD_ROOT%{progdir}/chrome
@ -249,6 +248,7 @@ for locale in $(cat mail/locales/all-locales); do
$RPM_BUILD_ROOT%{progdir}/chrome $RPM_BUILD_ROOT%{progdir}/chrome
echo %{progdir}/chrome/$locale.jar >> %{_tmppath}/translations.list echo %{progdir}/chrome/$locale.jar >> %{_tmppath}/translations.list
echo %{progdir}/chrome/$locale.manifest >> %{_tmppath}/translations.list echo %{progdir}/chrome/$locale.manifest >> %{_tmppath}/translations.list
esac
done done
%endif %endif
# overwrite the mozilla start-script and link it to /usr/bin # 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/ mkdir -p $RPM_BUILD_ROOT%{_datadir}/pixmaps/
cp -f $RPM_BUILD_ROOT%{progdir}/icons/mozicon50.xpm $RPM_BUILD_ROOT%{_datadir}/pixmaps/thunderbird.xpm cp -f $RPM_BUILD_ROOT%{progdir}/icons/mozicon50.xpm $RPM_BUILD_ROOT%{_datadir}/pixmaps/thunderbird.xpm
%if %suse_version > 820 %if %suse_version > 820
%suse_update_desktop_file %{name} Network Email GTK %suse_update_desktop_file %{name} Application Network Email GTK
%endif %endif
%if %has_system_nspr && !%has_system_nss %if !%has_system_nss
# modify provides and requires lists # modify provides and requires lists
cat << EOF > %{my_provides} 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 EOF
chmod 755 %{my_provides} chmod 755 %{my_provides}
%define __find_provides %{my_provides} %define __find_provides %{my_provides}
cat << EOF > %{my_requires} 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 EOF
chmod 755 %{my_requires} chmod 755 %{my_requires}
%define __find_requires %{my_requires} %define __find_requires %{my_requires}
@ -353,7 +353,7 @@ exit 0
%preun %preun
if [ "$1" = "0" ]; then # deinstallation if [ "$1" = "0" ]; then # deinstallation
rm -f %{progdir}/components/myspell/* rm -f %{progdir}/dictionaries/*
fi fi
exit 0 exit 0
@ -378,8 +378,10 @@ exit 0
%{progdir}/libsoftokn3.chk %{progdir}/libsoftokn3.chk
%{progdir}/libsoftokn3.so %{progdir}/libsoftokn3.so
%{progdir}/libssl3.so %{progdir}/libssl3.so
%{progdir}/libfreebl3.*
%endif %endif
# #
%{progdir}/dependentlibs.list
%{progdir}/LICENSE.txt %{progdir}/LICENSE.txt
%{progdir}/README.txt %{progdir}/README.txt
%{progdir}/libldap50.so %{progdir}/libldap50.so
@ -389,6 +391,7 @@ exit 0
%{progdir}/libxpcom_compat.so %{progdir}/libxpcom_compat.so
%{progdir}/libxpcom.so %{progdir}/libxpcom.so
%{progdir}/libxpistub.so %{progdir}/libxpistub.so
%{progdir}/license.html
%{progdir}/mozilla-xremote-client %{progdir}/mozilla-xremote-client
%{progdir}/run-mozilla.sh %{progdir}/run-mozilla.sh
%{progdir}/thunderbird %{progdir}/thunderbird
@ -397,6 +400,7 @@ exit 0
%{progdir}/updater.ini %{progdir}/updater.ini
%{progdir}/xpicleanup %{progdir}/xpicleanup
%dir %{progdir}/components %dir %{progdir}/components
%{progdir}/components/FeedProcessor.js
%{progdir}/components/accessibility-atk.xpt %{progdir}/components/accessibility-atk.xpt
%{progdir}/components/accessibility.xpt %{progdir}/components/accessibility.xpt
%{progdir}/components/addrbook.xpt %{progdir}/components/addrbook.xpt
@ -427,6 +431,8 @@ exit 0
%{progdir}/components/dom_html.xpt %{progdir}/components/dom_html.xpt
%{progdir}/components/dom_loadsave.xpt %{progdir}/components/dom_loadsave.xpt
%{progdir}/components/dom_range.xpt %{progdir}/components/dom_range.xpt
%{progdir}/components/dom_sidebar.xpt
%{progdir}/components/dom_storage.xpt
%{progdir}/components/dom_stylesheets.xpt %{progdir}/components/dom_stylesheets.xpt
%{progdir}/components/dom_traversal.xpt %{progdir}/components/dom_traversal.xpt
%{progdir}/components/dom_views.xpt %{progdir}/components/dom_views.xpt
@ -434,12 +440,13 @@ exit 0
%{progdir}/components/dom_xpath.xpt %{progdir}/components/dom_xpath.xpt
%{progdir}/components/dom.xpt %{progdir}/components/dom.xpt
%{progdir}/components/dom_xul.xpt %{progdir}/components/dom_xul.xpt
%{progdir}/components/downloadmanager.xpt
%{progdir}/components/downloads.xpt %{progdir}/components/downloads.xpt
%{progdir}/components/editor.xpt %{progdir}/components/editor.xpt
%{progdir}/components/embed_base.xpt %{progdir}/components/embed_base.xpt
%{progdir}/components/extensions.xpt %{progdir}/components/extensions.xpt
%{progdir}/components/exthandler.xpt %{progdir}/components/exthandler.xpt
%{progdir}/components/fastfind.xpt
%{progdir}/components/feeds.xpt
%{progdir}/components/filepicker.xpt %{progdir}/components/filepicker.xpt
%{progdir}/components/find.xpt %{progdir}/components/find.xpt
%{progdir}/components/gfx.xpt %{progdir}/components/gfx.xpt
@ -449,6 +456,7 @@ exit 0
%{progdir}/components/imglib2.xpt %{progdir}/components/imglib2.xpt
%{progdir}/components/impComm4xMail.xpt %{progdir}/components/impComm4xMail.xpt
%{progdir}/components/import.xpt %{progdir}/components/import.xpt
%{progdir}/components/inspector.xpt
%{progdir}/components/intl.xpt %{progdir}/components/intl.xpt
%{progdir}/components/jar.xpt %{progdir}/components/jar.xpt
%{progdir}/components/jsconsole.xpt %{progdir}/components/jsconsole.xpt
@ -484,7 +492,6 @@ exit 0
%{progdir}/components/msgnews.xpt %{progdir}/components/msgnews.xpt
%{progdir}/components/msgsearch.xpt %{progdir}/components/msgsearch.xpt
%{progdir}/components/msgsmime.xpt %{progdir}/components/msgsmime.xpt
%{progdir}/components/myspell/
%{progdir}/components/necko_about.xpt %{progdir}/components/necko_about.xpt
%{progdir}/components/necko_cache.xpt %{progdir}/components/necko_cache.xpt
%{progdir}/components/necko_cookie.xpt %{progdir}/components/necko_cookie.xpt
@ -503,9 +510,9 @@ exit 0
%{progdir}/components/nsCloseAllWindows.js %{progdir}/components/nsCloseAllWindows.js
%{progdir}/components/nsComposerCmdLineHandler.js %{progdir}/components/nsComposerCmdLineHandler.js
%{progdir}/components/nsDefaultCLH.js %{progdir}/components/nsDefaultCLH.js
%{progdir}/components/nsDownloadProgressListener.js
%{progdir}/components/nsExtensionManager.js %{progdir}/components/nsExtensionManager.js
%{progdir}/components/nsFilePicker.js %{progdir}/components/nsFilePicker.js
%{progdir}/components/nsPhishingProtectionApplication.js
%{progdir}/components/nsHelperAppDlg.js %{progdir}/components/nsHelperAppDlg.js
%{progdir}/components/nsInterfaceInfoToIDL.js %{progdir}/components/nsInterfaceInfoToIDL.js
%{progdir}/components/nsLDAPPrefsService.js %{progdir}/components/nsLDAPPrefsService.js
@ -513,6 +520,11 @@ exit 0
%{progdir}/components/nsUpdateService.js %{progdir}/components/nsUpdateService.js
%{progdir}/components/nsProgressDialog.js %{progdir}/components/nsProgressDialog.js
%{progdir}/components/nsProxyAutoConfig.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/offlineStartup.js
%{progdir}/components/pipboot.xpt %{progdir}/components/pipboot.xpt
%{progdir}/components/pipnss.xpt %{progdir}/components/pipnss.xpt
@ -523,11 +535,14 @@ exit 0
%{progdir}/components/progressDlg.xpt %{progdir}/components/progressDlg.xpt
%{progdir}/components/proxyObjInst.xpt %{progdir}/components/proxyObjInst.xpt
%{progdir}/components/rdf.xpt %{progdir}/components/rdf.xpt
%{progdir}/components/saxparser.xpt
%{progdir}/components/nsSetDefaultMail.js
%{progdir}/components/shellservice.xpt
%{progdir}/components/shistory.xpt %{progdir}/components/shistory.xpt
%{progdir}/components/sidebar.xpt
%{progdir}/components/signonviewer.xpt %{progdir}/components/signonviewer.xpt
%{progdir}/components/smime-service.js %{progdir}/components/smime-service.js
%{progdir}/components/spellchecker.xpt %{progdir}/components/spellchecker.xpt
%{progdir}/components/storage.xpt
%{progdir}/components/toolkitprofile.xpt %{progdir}/components/toolkitprofile.xpt
%{progdir}/components/toolkitremote.xpt %{progdir}/components/toolkitremote.xpt
%{progdir}/components/txmgr.xpt %{progdir}/components/txmgr.xpt
@ -536,6 +551,7 @@ exit 0
%{progdir}/components/unicharutil.xpt %{progdir}/components/unicharutil.xpt
%{progdir}/components/update.xpt %{progdir}/components/update.xpt
%{progdir}/components/uriloader.xpt %{progdir}/components/uriloader.xpt
%{progdir}/components/urlformatter.xpt
%{progdir}/components/wallet.xpt %{progdir}/components/wallet.xpt
%{progdir}/components/walleteditor.xpt %{progdir}/components/walleteditor.xpt
%{progdir}/components/walletpreview.xpt %{progdir}/components/walletpreview.xpt
@ -546,7 +562,7 @@ exit 0
%{progdir}/components/widget.xpt %{progdir}/components/widget.xpt
%{progdir}/components/windowds.xpt %{progdir}/components/windowds.xpt
%{progdir}/components/windowwatcher.xpt %{progdir}/components/windowwatcher.xpt
%{progdir}/components/xmlextras.xpt %{progdir}/components/xpautocomplete.xpt
%{progdir}/components/xpcom_base.xpt %{progdir}/components/xpcom_base.xpt
%{progdir}/components/xpcom_components.xpt %{progdir}/components/xpcom_components.xpt
%{progdir}/components/xpcom_ds.xpt %{progdir}/components/xpcom_ds.xpt
@ -565,15 +581,16 @@ exit 0
%{progdir}/chrome/en-US.* %{progdir}/chrome/en-US.*
%{progdir}/chrome/messenger.* %{progdir}/chrome/messenger.*
%{progdir}/chrome/newsblog.* %{progdir}/chrome/newsblog.*
%{progdir}/chrome/offline.*
%{progdir}/chrome/pippki.* %{progdir}/chrome/pippki.*
%{progdir}/chrome/toolkit.* %{progdir}/chrome/toolkit.*
%{progdir}/chrome/US.jar %{progdir}/chrome/US.jar
%{progdir}/chrome/icons/ %{progdir}/chrome/icons/
%{progdir}/dictionaries/
%{progdir}/defaults/ %{progdir}/defaults/
%{progdir}/greprefs/ %{progdir}/greprefs/
%{progdir}/extensions/ %{progdir}/extensions/
%{progdir}/init.d/ %{progdir}/init.d/
%{progdir}/isp/
%{_datadir}/applications/%{name}.desktop %{_datadir}/applications/%{name}.desktop
%{_datadir}/pixmaps/thunderbird.xpm %{_datadir}/pixmaps/thunderbird.xpm
%{_bindir}/%{progname} %{_bindir}/%{progname}
@ -584,15 +601,43 @@ exit 0
%endif %endif
%changelog %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 * Tue Jun 05 2007 - maw@suse.de
- Security update to version 1.5.0.12 (#271197). - Security update to version 1.5.0.12 (#271197).
* Tue Jun 05 2007 - sbrabec@suse.cz * Tue Jun 05 2007 - sbrabec@suse.cz
- Removed invalid desktop category "Application" (#254654). - 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 * Fri Mar 30 2007 - meissner@suse.de
- require unzip - 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 * Thu Mar 08 2007 - meissner@suse.de
- Upgraded to 1.5.0.10 security release. - Upgraded to 1.5.0.10 security release.
- Upgraded to enigmail 0.94.2. - 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 * Tue Jan 30 2007 - maw@suse.de
- Add thunderbird-1.5.0.8-uninitalized-vars-232305.patch (#232305). - Add thunderbird-1.5.0.8-uninitalized-vars-232305.patch (#232305).
* Thu Jan 18 2007 - maw@suse.de * Thu Jan 18 2007 - maw@suse.de

View File

@ -7,7 +7,6 @@ References:
Program is using uninitialized variables. Note the difference between "is used" Program is using uninitialized variables. Note the difference between "is used"
and "may be used". Please investigate and fix. and "may be used". Please investigate and fix.
Problematic file(s) and their linenumbers: Problematic file(s) and their linenumbers:
certificate.c: 541
nsUnicodeToJamoTTF.cpp: 855 nsUnicodeToJamoTTF.cpp: 855
nsObjectFrame.cpp: 1933 nsObjectFrame.cpp: 1933
### ###
@ -23,8 +22,10 @@ Problematic file(s) and their linenumbers:
nsFrame.cpp: 3536 nsFrame.cpp: 3536
### ###
--- gfx/src/gtk/nsFontMetricsUtils.cpp.old 2005-03-24 07:27:33.000000000 +0100 Index: gfx/src/gtk/nsFontMetricsUtils.cpp
+++ gfx/src/gtk/nsFontMetricsUtils.cpp 2005-03-24 07:28:26.000000000 +0100 ===================================================================
--- gfx/src/gtk/nsFontMetricsUtils.cpp.orig
+++ gfx/src/gtk/nsFontMetricsUtils.cpp
@@ -75,6 +75,7 @@ NS_FontMetricsGetHints(void) @@ -75,6 +75,7 @@ NS_FontMetricsGetHints(void)
#ifdef MOZ_ENABLE_COREXFONTS #ifdef MOZ_ENABLE_COREXFONTS
return nsFontMetricsGTK::GetHints(); return nsFontMetricsGTK::GetHints();
@ -40,18 +41,36 @@ Problematic file(s) and their linenumbers:
+ return 1; + 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 Index: docshell/base/nsWebShell.cpp
=================================================================== ===================================================================
RCS file: /cvsroot/mozilla/docshell/base/nsWebShell.cpp,v --- docshell/base/nsWebShell.cpp.orig
retrieving revision 1.656.2.1 +++ docshell/base/nsWebShell.cpp
diff -u -p -6 -r1.656.2.1 nsWebShell.cpp @@ -557,6 +557,7 @@ nsWebShell::OnLinkClickSync(nsIContent *
--- 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:
NS_ABORT_IF_FALSE(0,"unexpected link verb"); NS_ABORT_IF_FALSE(0,"unexpected link verb");
return NS_ERROR_UNEXPECTED; return NS_ERROR_UNEXPECTED;
} }
@ -59,6 +78,29 @@ diff -u -p -6 -r1.656.2.1 nsWebShell.cpp
} }
NS_IMETHODIMP NS_IMETHODIMP
nsWebShell::OnOverLink(nsIContent* aContent, Index: layout/generic/nsFrame.cpp
nsIURI* aURI, ===================================================================
const PRUnichar* aTargetSpec) --- 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);

View File

@ -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;
}

View File

@ -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
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dc869191953c3d0797f89223a0ad5e8accc009266f1d2ec3adb2f5814ff33b50
size 568958

View File

@ -1,6 +1,6 @@
--- ./layout/base/nsCSSRendering.cpp 2005-12-27 13:52:01.000000000 +0100 --- layout/base/nsCSSRendering.cpp.orig 2006-10-25 23:59:19.000000000 +0200
+++ ./layout/base/nsCSSRendering.cpp.new 2007-01-18 23:40:30.741771000 +0100 +++ layout/base/nsCSSRendering.cpp 2006-10-26 00:00:04.000000000 +0200
@@ -979,14 +979,14 @@ @@ -1000,14 +1000,14 @@
FillOrInvertRect(aContext, dashRect.x, borderOutside.y,dashRect.width, dashRect.height-adjust,isInvert); 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); FillOrInvertRect(aContext,dashRect.x,(borderOutside.YMost()-(dashRect.height-adjust)),dashRect.width, dashRect.height-adjust,isInvert);
currRect.y += (dashRect.height-adjust); currRect.y += (dashRect.height-adjust);
@ -17,7 +17,7 @@
} }
if( temp > ywidth) 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.x,dashRect.y,dashRect.width-adjust,dashRect.height,isInvert);
FillOrInvertRect(aContext, (borderOutside.XMost()-(dashRect.width-adjust)),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); currRect.x += (dashRect.width-adjust);
@ -34,8 +34,8 @@
} }
--- ./layout/xul/base/src/nsBox.cpp 2006-01-07 21:27:40.000000000 +0100 --- layout/xul/base/src/nsBox.cpp.orig 2006-10-26 00:00:26.000000000 +0200
+++ ./layout/xul/base/src/nsBox.cpp.new 2007-01-18 23:43:58.695609000 +0100 +++ layout/xul/base/src/nsBox.cpp 2006-10-26 00:01:30.000000000 +0200
@@ -863,7 +863,7 @@ @@ -863,7 +863,7 @@
while (box) { while (box) {
nsRect* overflowArea = box->GetOverflowAreaProperty(); nsRect* overflowArea = box->GetOverflowAreaProperty();
@ -45,32 +45,31 @@
rect.UnionRect(rect, bounds); rect.UnionRect(rect, bounds);
box->GetNextBox(&box); box->GetNextBox(&box);
--- ./mailnews/compose/src/nsMsgCompose.cpp 2007-01-19 00:53:23.575133000 +0100 --- intl/unicharutil/src/nsEntityConverter.cpp.orig 2005-04-02 20:44:00.000000000 +0200
+++ ./mailnews/compose/src/nsMsgCompose.cpp.new 2007-01-19 00:55:33.114466000 +0100 +++ intl/unicharutil/src/nsEntityConverter.cpp 2006-10-26 00:07:24.000000000 +0200
@@ -1476,7 +1476,7 @@ @@ -236,7 +236,8 @@
}
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 @@
if (IS_HIGH_SURROGATE(inString[i]) && if (IS_HIGH_SURROGATE(inString[i]) &&
i + 2 < len && i + 2 < len &&
IS_LOW_SURROGATE(inString[i + 1])) { 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]), 10);
+ key.AppendInt(SURROGATE_TO_UCS4(inString[i], inString[i + 1]), 10); + key.AppendInt(SURROGATE_TO_UCS4(inString[i], inString[i + 1]), 10);
+ ++i; + ++i;
} }
else { else {
key.AppendInt(inString[i],10); key.AppendInt(inString[i],10);
--- ./netwerk/cache/src/nsDiskCacheMap.h 2006-02-22 04:23:13.000000000 +0100 --- content/events/src/nsEventStateManager.cpp.orig 2006-08-06 00:19:17.000000000 +0200
+++ ./netwerk/cache/src/nsDiskCacheMap.h.new 2007-01-19 00:16:52.302599000 +0100 +++ 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 @@ @@ -168,7 +168,7 @@
// set blockCount // set blockCount
@ -89,25 +88,3 @@
mMetaLocation |= (blockCount << eExtraBlocksOffset) & eExtraBlocksMask; mMetaLocation |= (blockCount << eExtraBlocksOffset) & eExtraBlocksMask;
mMetaLocation |= eLocationInitializedMask; 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) {

View File

@ -1,11 +1,11 @@
Index: mail/base/content/mailWindowOverlay.js Index: mail/base/content/mailWindowOverlay.js
=================================================================== ===================================================================
RCS file: /cvsroot/mozilla/mail/base/content/mailWindowOverlay.js,v RCS file: /cvsroot/mozilla/mail/base/content/mailWindowOverlay.js,v
retrieving revision 1.95.2.7 retrieving revision 1.95.2.55
diff -u -p -6 -r1.95.2.7 mailWindowOverlay.js diff -u -p -6 -r1.95.2.55 mailWindowOverlay.js
--- mail/base/content/mailWindowOverlay.js 12 Oct 2005 21:31:50 -0000 1.95.2.7 --- mail/base/content/mailWindowOverlay.js 12 Feb 2007 21:07:34 -0000 1.95.2.55
+++ mail/base/content/mailWindowOverlay.js 29 Dec 2005 19:28:21 -0000 +++ mail/base/content/mailWindowOverlay.js 15 Feb 2007 19:46:05 -0000
@@ -903,12 +903,19 @@ function MsgNewMessage(event) @@ -1064,12 +1064,19 @@ function MsgNewMessage(event)
if (event && event.shiftKey) if (event && event.shiftKey)
ComposeMessage(msgComposeType.New, msgComposeFormat.OppositeOfDefault, loadedFolder, messageArray); ComposeMessage(msgComposeType.New, msgComposeFormat.OppositeOfDefault, loadedFolder, messageArray);
else else
@ -28,16 +28,16 @@ diff -u -p -6 -r1.95.2.7 mailWindowOverlay.js
Index: mail/base/content/mailWindowOverlay.xul Index: mail/base/content/mailWindowOverlay.xul
=================================================================== ===================================================================
RCS file: /cvsroot/mozilla/mail/base/content/mailWindowOverlay.xul,v RCS file: /cvsroot/mozilla/mail/base/content/mailWindowOverlay.xul,v
retrieving revision 1.116.2.8 retrieving revision 1.116.2.72
diff -u -p -6 -r1.116.2.8 mailWindowOverlay.xul diff -u -p -6 -r1.116.2.72 mailWindowOverlay.xul
--- mail/base/content/mailWindowOverlay.xul 24 Oct 2005 04:01:20 -0000 1.116.2.8 --- mail/base/content/mailWindowOverlay.xul 10 Feb 2007 22:56:29 -0000 1.116.2.72
+++ mail/base/content/mailWindowOverlay.xul 29 Dec 2005 19:34:25 -0000 +++ mail/base/content/mailWindowOverlay.xul 15 Feb 2007 19:46:55 -0000
@@ -1399,12 +1399,15 @@ @@ -1511,12 +1511,15 @@
<menu id="messageMenu" label="&msgMenu.label;" accesskey="&msgMenu.accesskey;"> <menu id="messageMenu" label="&msgMenu.label;" accesskey="&msgMenu.accesskey;">
<menupopup id="messageMenuPopup" onpopupshowing="InitMessageMenu();"> <menupopup id="messageMenuPopup" onpopupshowing="InitMessageMenu();">
<menuitem id="newMsgCmd" label="&newMsgCmd.label;" <menuitem id="newMsgCmd" label="&newMsgCmd.label;"
accesskey="&newMsgCmd.accesskey;" accesskey="&newMsgCmd.accesskey;"
key="key_newMessage" key="key_newMessage2"
oncommand="MsgNewMessage(null);"/> oncommand="MsgNewMessage(null);"/>
+ <menuitem id="newHtmlMsgCmd" label="New HTML Message" + <menuitem id="newHtmlMsgCmd" label="New HTML Message"
+ accesskey="H" + accesskey="H"
@ -45,6 +45,6 @@ diff -u -p -6 -r1.116.2.8 mailWindowOverlay.xul
<menuitem id="replyMainMenu" label="&replyMsgCmd.label;" <menuitem id="replyMainMenu" label="&replyMsgCmd.label;"
accesskey="&replyMsgCmd.accesskey;" accesskey="&replyMsgCmd.accesskey;"
key="key_reply" key="key_reply"
observes="cmd_reply"/> command="cmd_reply"/>
<menuitem id="replySenderMainMenu" label="&replySenderCmd.label;" <menuitem id="replySenderMainMenu" label="&replySenderCmd.label;"
accesskey="&replySenderCmd.accesskey;" accesskey="&replySenderCmd.accesskey;"

3
l10n-2.0.0.0.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3883680f592f9c7d069063a2d639f130d6da69ee168c81b1cbff799812781dc9
size 9373784

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b49cbb080c3b8ae19fed8d6da9366c5b970f7cc930cb3fd0aeec6a4f9406d2f9
size 5323798

View File

@ -13,21 +13,20 @@ diff -u -r3.249 mailnews.js
// separator to separate between date and author // separator to separate between date and author
pref("mailnews.reply_header_separator", ", "); pref("mailnews.reply_header_separator", ", ");
--- mailnews/compose/src/nsMsgCompose.cpp.old 2006-08-14 09:32:18.000000000 +0200 --- mailnews/compose/src/nsMsgCompose.cpp.old 2007-01-10 10:03:52.000000000 +0100
+++ mailnews/compose/src/nsMsgCompose.cpp 2006-08-14 09:44:25.000000000 +0200 +++ mailnews/compose/src/nsMsgCompose.cpp 2007-01-10 10:09:45.000000000 +0100
@@ -2106,6 +2106,7 @@ NS_IMETHODIMP QuotingOutputStreamListene @@ -2221,6 +2221,7 @@ NS_IMETHODIMP QuotingOutputStreamListene
nsAutoString messageId;
nsAutoString references;
nsAutoString listPost; nsAutoString listPost;
+ PRBool clobberListReply = PR_FALSE;
nsXPIDLCString outCString; nsXPIDLCString outCString;
PRBool needToRemoveDup = PR_FALSE; PRBool needToRemoveDup = PR_FALSE;
+ PRBool clobberListReply = PR_FALSE;
if (!mMimeConverter) 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; nsXPIDLCString charset;
compFields->GetCharacterSet(getter_Copies(charset)); compFields->GetCharacterSet(getter_Copies(charset));
+
+ nsCOMPtr<nsIPrefBranch> prefBranch (do_GetService(NS_PREFSERVICE_CONTRACTID)); + nsCOMPtr<nsIPrefBranch> prefBranch (do_GetService(NS_PREFSERVICE_CONTRACTID));
+ if (prefBranch) + if (prefBranch)
+ prefBranch->GetBoolPref("mailnews.clobber_list_reply", &clobberListReply); + prefBranch->GetBoolPref("mailnews.clobber_list_reply", &clobberListReply);
@ -41,8 +40,9 @@ diff -u -r3.249 mailnews.js
+ mMimeConverter->DecodeMimeHeader(outCString, mailReplyTo, charset); + mMimeConverter->DecodeMimeHeader(outCString, mailReplyTo, charset);
+ +
+ if (clobberListReply) { + if (clobberListReply) {
+ /* the 'Al fix'. Try to fake up Mail-Reply-To: and Mail-Followup-To: headers if + /* the 'Al fix'. Try to fake up Mail-Reply-To: and
+ * we don't have any, and if it looks like it came via a mailing list. + * 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. + * Currently only supports List-Post header.
+ */ + */
@ -75,52 +75,41 @@ diff -u -r3.249 mailnews.js
+ +
+ mHeaders->ExtractHeader(HEADER_FROM, PR_FALSE, getter_Copies(outCString)); + mHeaders->ExtractHeader(HEADER_FROM, PR_FALSE, getter_Copies(outCString));
+ if (outCString) + if (outCString)
+ {
+ mMimeConverter->DecodeMimeHeader(outCString, from, charset); + mMimeConverter->DecodeMimeHeader(outCString, from, charset);
+ }
+ +
+ mHeaders->ExtractHeader(HEADER_X_REPLY_TO, PR_FALSE, getter_Copies(outCString)); + mHeaders->ExtractHeader(HEADER_X_REPLY_TO, PR_FALSE, getter_Copies(outCString));
+ if (outCString) + if (outCString)
+ {
+ mMimeConverter->DecodeMimeHeader(outCString, xReplyTo, charset); + mMimeConverter->DecodeMimeHeader(outCString, xReplyTo, charset);
+ }
+ +
+ if (replyTo == mailFollowupTo) { + if (replyTo == mailFollowupTo) {
+ if (!xReplyTo.IsEmpty()) { + if (!xReplyTo.IsEmpty())
+ mailReplyTo = xReplyTo; + mailReplyTo = xReplyTo;
+ } + else
+ else {
+ mailReplyTo = from; + mailReplyTo = from;
+ } + }
+ } + }
+ else {
+ mailReplyTo = replyTo;
+ } + }
+ } +
+ } +
if (type == nsIMsgCompType::ReplyAll) if (type == nsIMsgCompType::ReplyAll)
{ {
@@ -2129,11 +2201,13 @@ NS_IMETHODIMP QuotingOutputStreamListene mHeaders->ExtractHeader(HEADER_TO, PR_TRUE, getter_Copies(outCString));
{ @@ -2252,10 +2317,10 @@ NS_IMETHODIMP QuotingOutputStreamListene
mMimeConverter->DecodeMimeHeader(outCString, cc, charset); compFields->SetBcc(bcc);
} }
-
- mHeaders->ExtractHeader(HEADER_MAIL_FOLLOWUP_TO, PR_TRUE, getter_Copies(outCString)); - mHeaders->ExtractHeader(HEADER_MAIL_FOLLOWUP_TO, PR_TRUE, getter_Copies(outCString));
- if (outCString) - if (outCString)
- { - {
- mMimeConverter->DecodeMimeHeader(outCString, mailFollowupTo, charset); - mMimeConverter->DecodeMimeHeader(outCString, mailFollowupTo, charset);
+
+ if (!clobberListReply) { // else we've already looked this up earlier + if (!clobberListReply) { // else we've already looked this up earlier
+ mHeaders->ExtractHeader(HEADER_MAIL_FOLLOWUP_TO, PR_TRUE, getter_Copies(outCString)); + mHeaders->ExtractHeader(HEADER_MAIL_FOLLOWUP_TO, PR_TRUE, getter_Copies(outCString));
+ if (outCString) + if (outCString)
+ {
+ mMimeConverter->DecodeMimeHeader(outCString, mailFollowupTo, charset); + mMimeConverter->DecodeMimeHeader(outCString, mailFollowupTo, charset);
+ }
} }
if (! mailFollowupTo.IsEmpty()) if (! mailFollowupTo.IsEmpty())
@@ -2174,18 +2248,6 @@ NS_IMETHODIMP QuotingOutputStreamListene @@ -2296,18 +2361,6 @@ NS_IMETHODIMP QuotingOutputStreamListene
} }
} }

View File

@ -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"/>

File diff suppressed because it is too large Load Diff

View File

@ -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)

View File

@ -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);

View File

@ -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 Index: mailnews/compose/public/nsIMsgComposeParams.idl
=================================================================== ===================================================================
RCS file: /cvsroot/mozilla/mailnews/compose/public/nsIMsgComposeParams.idl,v 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 Index: mailnews/mime/public/nsMailHeaders.h
=================================================================== ===================================================================
RCS file: /cvsroot/mozilla/mailnews/mime/public/nsMailHeaders.h,v 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_BOUNDARY "BOUNDARY"
#define HEADER_PARM_FILENAME "FILENAME" #define HEADER_PARM_FILENAME "FILENAME"
#define HEADER_PARM_NAME "NAME" #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 :

View File

@ -1,11 +1,11 @@
Index: toolkit/mozapps/extensions/src/nsExtensionManager.js.in Index: toolkit/mozapps/extensions/src/nsExtensionManager.js.in
=================================================================== ===================================================================
RCS file: /cvsroot/mozilla/toolkit/mozapps/extensions/src/nsExtensionManager.js.in,v RCS file: /cvsroot/mozilla/toolkit/mozapps/extensions/src/nsExtensionManager.js.in,v
retrieving revision 1.144.2.16 retrieving revision 1.144.2.52
diff -u -p -6 -r1.144.2.16 nsExtensionManager.js.in diff -u -p -6 -r1.144.2.52 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 29 Jun 2006 20:11:57 -0000 1.144.2.52
+++ toolkit/mozapps/extensions/src/nsExtensionManager.js.in 28 Dec 2005 06:58:07 -0000 +++ toolkit/mozapps/extensions/src/nsExtensionManager.js.in 20 Jul 2006 07:23:39 -0000
@@ -118,12 +118,13 @@ const OP_NEEDS_UPGRADE = @@ -116,12 +116,13 @@ const OP_NEEDS_UPGRADE =
const OP_NEEDS_UNINSTALL = "needs-uninstall"; const OP_NEEDS_UNINSTALL = "needs-uninstall";
const OP_NEEDS_ENABLE = "needs-enable"; const OP_NEEDS_ENABLE = "needs-enable";
const OP_NEEDS_DISABLE = "needs-disable"; 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_EM = "http://www.mozilla.org/2004/em-rdf#";
const PREFIX_NS_CHROME = "http://www.mozilla.org/rdf/chrome#"; const PREFIX_NS_CHROME = "http://www.mozilla.org/rdf/chrome#";
const PREFIX_ITEM_URI = "urn:mozilla:item:"; 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 priority = nsIInstallLocation.PRIORITY_APP_PROFILE;
var profileLocation = new DirectoryInstallLocation(KEY_APP_PROFILE, var profileLocation = new DirectoryInstallLocation(KEY_APP_PROFILE,
appProfileExtensions, false, appProfileExtensions, false,
@ -35,6 +35,7 @@ diff -u -p -6 -r1.144.2.16 nsExtensionManager.js.in
+ priority); + priority);
+ InstallLocations.put(systemLocation); + InstallLocations.put(systemLocation);
+ } catch (e) {} + } catch (e) {}
+
+ +
#ifdef XP_WIN #ifdef XP_WIN
// Register HKEY_LOCAL_MACHINE Install Location // 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", new WinRegInstallLocation("winreg-app-global",
nsIWindowsRegKey.ROOT_KEY_LOCAL_MACHINE, nsIWindowsRegKey.ROOT_KEY_LOCAL_MACHINE,
true, true,
@@ -3236,13 +3247,13 @@ ExtensionManager.prototype = { @@ -3830,13 +3842,13 @@ ExtensionManager.prototype = {
"{641d8d09-7dda-4850-8228-ac0ab65e2ac9}"]); // toolkit 1.8 extension datasource.
if (profileDOMi && profileDOMi.exists()) if (dsExists)
removeDirRecursive(profileDOMi); return;
// Prepare themes for installation // Prepare themes for installation
// Only enumerate directories in the app-profile and app-global locations. // 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; continue;
var entries = location.itemLocations; var entries = location.itemLocations;
@@ -3300,13 +3311,14 @@ ExtensionManager.prototype = { @@ -3896,13 +3908,14 @@ ExtensionManager.prototype = {
if (this._checkForFileChanges()) { if (this._checkForFileChanges()) {
// Create a list of all items that are to be installed so we can migrate // Create a list of all items that are to be installed so we can migrate
// these items's settings to the new datasource. // 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. // 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")) var restartRequired = this.installRequiresRestart(id, ds.getItemProperty(id, "type"))
this._updateManifests(restartRequired); this._updateManifests(restartRequired);
return; return;

View File

@ -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)

View File

@ -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

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7a347dadb3e84876cd99481ebb06af2e12d314683b432d6449c8d39aa3904a83
size 36172395

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:135f993277d4ef294a171c344547a8867f3cd0ec69b8a95db6b36fd7c56b5f91
size 37629763

View File

@ -1,25 +1,26 @@
Index: mail/components/shell/nsMailGNOMEIntegration.cpp Index: mail/components/shell/nsMailGNOMEIntegration.cpp
=================================================================== ===================================================================
RCS file: /cvsroot/mozilla/mail/components/shell/nsMailGNOMEIntegration.cpp,v RCS file: /cvsroot/mozilla/mail/components/shell/nsMailGNOMEIntegration.cpp,v
retrieving revision 1.8 retrieving revision 1.8.2.1
diff -u -p -6 -r1.8 nsMailGNOMEIntegration.cpp diff -u -p -6 -r1.8.2.1 nsMailGNOMEIntegration.cpp
--- mail/components/shell/nsMailGNOMEIntegration.cpp 18 Jul 2005 17:51:32 -0000 1.8 --- mail/components/shell/nsMailGNOMEIntegration.cpp 23 Oct 2006 03:32:47 -0000 1.8.2.1
+++ mail/components/shell/nsMailGNOMEIntegration.cpp 20 Sep 2005 07:40:47 -0000 +++ mail/components/shell/nsMailGNOMEIntegration.cpp 19 Nov 2006 11:54:48 -0000
@@ -89,12 +89,17 @@ nsMailGNOMEIntegration::Init() @@ -94,12 +94,18 @@ nsMailGNOMEIntegration::Init()
NS_ENSURE_SUCCESS(rv, rv);
rv = appPath->AppendNative(NS_LITERAL_CSTRING("thunderbird")); rv = appPath->AppendNative(NS_LITERAL_CSTRING("thunderbird"));
NS_ENSURE_SUCCESS(rv, rv); NS_ENSURE_SUCCESS(rv, rv);
rv = appPath->GetNativePath(mAppPath); rv = appPath->GetNativePath(mAppPath);
NS_ENSURE_SUCCESS(rv, rv); +
+ /* This path of thunderbird is hardcoded for the default path setting + /* This path of thunderbird is hardcoded for the default path setting
+ * And the above code is not used. + * And the above code is not used.
+ */ + */
+ mAppPath.Assign ("/usr/bin/thunderbird"); + mAppPath.Assign ("/usr/bin/thunderbird");
+ +
PRBool isDefault; return rv;
nsMailGNOMEIntegration::GetIsDefaultMailClient(&isDefault); }
mShowMailDialog = !isDefault;
NS_IMPL_ISUPPORTS1(nsMailGNOMEIntegration, nsIShellService)
nsMailGNOMEIntegration::GetIsDefaultNewsClient(&isDefault);
mShowNewsDialog = !isDefault;

View File

@ -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) {