OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/MozillaThunderbird?expand=0&rev=34
This commit is contained in:
parent
c8a9ee5e33
commit
aa0e40792e
2
.gitattributes
vendored
2
.gitattributes
vendored
@ -21,5 +21,3 @@
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
||||
## Specific LFS patterns
|
||||
mailredirect-0.7.5.xpi filter=lfs diff=lfs merge=lfs -text
|
||||
|
@ -1,3 +1,18 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 17 13:48:02 CEST 2009 - wr@rosenauer.org
|
||||
|
||||
- major update to 3.0b3
|
||||
- update enigmail to 0.96pre
|
||||
- created enigmail subpackage and install to system wide location
|
||||
for Thunderbird and SeaMonkey
|
||||
- define MOZ_APP_LAUNCHER for session management (bmo#453689)
|
||||
(mozilla-app-launcher.patch and mozilla.sh.in)
|
||||
- move opensuse.js prefs to all-opensuse.js prefs to be able
|
||||
to override prefs in all-thunderbird.js
|
||||
- move intl.locale.matchOS to all-opensuse.js
|
||||
- added mozilla-jemalloc_deepbind.patch to fix various possible
|
||||
crashes (bnc#503151, bmo#493541)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 19 10:35:46 CEST 2009 - coolo@novell.com
|
||||
|
||||
|
@ -1,8 +1,11 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Name=Thunderbird
|
||||
GenericName=Mail/News Client
|
||||
Comment=Mail/News Client
|
||||
TryExec=thunderbird
|
||||
Exec=thunderbird
|
||||
Icon=thunderbird
|
||||
Terminal=false
|
||||
Type=Application
|
||||
StartupNotify=true
|
||||
|
File diff suppressed because it is too large
Load Diff
156
abuild.patch
156
abuild.patch
@ -1,156 +0,0 @@
|
||||
From: Wolfgang Rosenauer <stark@suse.de / wr@rosenauer.org>
|
||||
Subject: Fix compiler warnings which disturb autobuild
|
||||
References:
|
||||
|
||||
### autobuild
|
||||
... testing for serious compiler warnings
|
||||
Program is using uninitialized variables. Note the difference between "is used"
|
||||
and "may be used". Please investigate and fix.
|
||||
Problematic file(s) and their linenumbers:
|
||||
nsUnicodeToJamoTTF.cpp: 855
|
||||
nsObjectFrame.cpp: 1933
|
||||
###
|
||||
|
||||
### autobuild
|
||||
... testing for serious compiler warnings
|
||||
Program returns random data in a function. Please fix.
|
||||
Problematic file(s) and their linenumbers:
|
||||
nsWebShell.cpp: 562
|
||||
Program is using uninitialized variables. Note the difference between "is used" and "may be used".
|
||||
Please investigate and fix.
|
||||
Problematic file(s) and their linenumbers:
|
||||
nsFrame.cpp: 3536
|
||||
###
|
||||
|
||||
### autobuild
|
||||
I: Program causes undefined operation
|
||||
(likely same variable used twiceand post/pre incremented in the same expression).
|
||||
e.g. x = x++; Split it in two operations.
|
||||
E: MozillaThunderbird sequence-point nsMailboxService.cpp: 231
|
||||
###
|
||||
|
||||
--- gfx/src/gtk/nsFontMetricsUtils.cpp.old 2005-03-24 07:27:33.000000000 +0100
|
||||
+++ gfx/src/gtk/nsFontMetricsUtils.cpp 2005-03-24 07:28:26.000000000 +0100
|
||||
@@ -75,6 +75,7 @@ NS_FontMetricsGetHints(void)
|
||||
#ifdef MOZ_ENABLE_COREXFONTS
|
||||
return nsFontMetricsGTK::GetHints();
|
||||
#endif
|
||||
+ return 1;
|
||||
}
|
||||
|
||||
nsresult
|
||||
@@ -95,6 +96,7 @@ NS_FontMetricsFamilyExists(nsIDeviceCont
|
||||
#ifdef MOZ_ENABLE_COREXFONTS
|
||||
return nsFontMetricsGTK::FamilyExists(aDevice, aName);
|
||||
#endif
|
||||
+ return 1;
|
||||
}
|
||||
|
||||
#ifdef MOZ_ENABLE_XFT
|
||||
Index: intl/uconv/ucvko/nsUnicodeToJamoTTF.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/intl/uconv/ucvko/nsUnicodeToJamoTTF.cpp,v
|
||||
retrieving revision 1.10
|
||||
diff -u -p -6 -r1.10 nsUnicodeToJamoTTF.cpp
|
||||
--- intl/uconv/ucvko/nsUnicodeToJamoTTF.cpp 19 Feb 2005 07:27:54 -0000 1.10
|
||||
+++ intl/uconv/ucvko/nsUnicodeToJamoTTF.cpp 7 Jun 2005 07:21:10 -0000
|
||||
@@ -842,12 +842,13 @@ PRInt16 JamoSrchReplace (const JamoNormM
|
||||
// we don't need a separate range check here because the one in
|
||||
// for-loop is sufficient.
|
||||
for (PRInt32 i = start; i <= end - clusterLen; i++)
|
||||
{
|
||||
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.
|
||||
key.seq[0] = aIn[i] - aOffset;
|
||||
key.seq[1] = aIn[i + 1] - aOffset;
|
||||
key.seq[2] = clusterLen == 3 ? (aIn[i + 2] - aOffset) : 0;
|
||||
Index: layout/generic/nsObjectFrame.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/layout/generic/nsObjectFrame.cpp,v
|
||||
retrieving revision 1.505
|
||||
diff -u -p -6 -r1.505 nsObjectFrame.cpp
|
||||
--- layout/generic/nsObjectFrame.cpp 6 May 2005 03:14:31 -0000 1.505
|
||||
+++ layout/generic/nsObjectFrame.cpp 7 Jun 2005 07:23:27 -0000
|
||||
@@ -1850,12 +1850,13 @@ nsObjectFrame::Paint(nsPresContext*
|
||||
// now we need to setup the correct location for printing
|
||||
nsresult rv;
|
||||
nsPluginWindow window;
|
||||
nsPoint origin;
|
||||
float t2p;
|
||||
window.window = nsnull;
|
||||
+ window.ws_info = nsnull;
|
||||
|
||||
// prepare embedded mode printing struct
|
||||
nsPluginPrint npprint;
|
||||
npprint.mode = nsPluginMode_Embedded;
|
||||
|
||||
// we need to find out if we are windowless or not
|
||||
Index: docshell/base/nsWebShell.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/docshell/base/nsWebShell.cpp,v
|
||||
retrieving revision 1.656.2.1
|
||||
diff -u -p -6 -r1.656.2.1 nsWebShell.cpp
|
||||
--- docshell/base/nsWebShell.cpp 16 Sep 2005 19:11:52 -0000 1.656.2.1
|
||||
+++ docshell/base/nsWebShell.cpp 22 Sep 2005 06:30:30 -0000
|
||||
@@ -556,12 +556,13 @@ nsWebShell::OnLinkClickSync(nsIContent *
|
||||
// XXX TODO Should be similar to the HTML IMG ALT attribute handling
|
||||
// in NS 4.x
|
||||
default:
|
||||
NS_ABORT_IF_FALSE(0,"unexpected link verb");
|
||||
return NS_ERROR_UNEXPECTED;
|
||||
}
|
||||
+ return NS_ERROR_UNEXPECTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWebShell::OnOverLink(nsIContent* aContent,
|
||||
nsIURI* aURI,
|
||||
const PRUnichar* aTargetSpec)
|
||||
Index: layout/generic/nsFrame.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/layout/generic/nsFrame.cpp,v
|
||||
retrieving revision 3.574.2.4
|
||||
diff -u -p -6 -r3.574.2.4 nsFrame.cpp
|
||||
--- layout/generic/nsFrame.cpp 20 Sep 2005 06:32:09 -0000 3.574.2.4
|
||||
+++ layout/generic/nsFrame.cpp 22 Sep 2005 06:31:42 -0000
|
||||
@@ -3528,13 +3528,13 @@ nsresult
|
||||
nsFrame::PeekOffsetParagraph(nsPresContext* aPresContext,
|
||||
nsPeekOffsetStruct *aPos)
|
||||
{
|
||||
#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;
|
||||
|
||||
PRInt32 thisLine;
|
||||
nsresult result = iter->FindLineContaining(this, &thisLine);
|
||||
Index: mailnews/local/src/nsMailboxService.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mailnews/local/src/nsMailboxService.cpp,v
|
||||
retrieving revision 1.114.8.7
|
||||
diff -u -p -6 -r1.114.8.7 nsMailboxService.cpp
|
||||
--- mailnews/local/src/nsMailboxService.cpp 30 Aug 2006 22:18:29 -0000 1.114.8.7
|
||||
+++ mailnews/local/src/nsMailboxService.cpp 11 Sep 2008 11:09:24 -0000
|
||||
@@ -225,13 +225,13 @@ nsresult nsMailboxService::FetchMessage(
|
||||
}
|
||||
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");
|
||||
+ PRInt32 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);
|
||||
}
|
@ -1,7 +1,5 @@
|
||||
#! /bin/sh
|
||||
# Copyright (c) 2001 SuSE GmbH Nuernberg, Germany. All rights reserved.
|
||||
# 2002-2004 SuSE Linux AG, Nuernberg, Germany
|
||||
# 2005 SUSE LINUX Products GmbH, Nuernberg, Germany
|
||||
# Copyright (c) 2008 Wolfgang Rosenauer. All rights reserved.
|
||||
#
|
||||
|
||||
# check if we are started as root
|
||||
@ -12,10 +10,8 @@ if test "$UID" != 0 -a "$USER" != root; then
|
||||
fi
|
||||
|
||||
PREFIX="%PROGDIR"
|
||||
MOZ_APP="%APPNAME"
|
||||
|
||||
|
||||
# MySPELL
|
||||
# dictionaries
|
||||
MYSPELL=/usr/share/myspell
|
||||
MOZ_SPELL=$PREFIX/dictionaries
|
||||
if [ -d $MOZ_SPELL ] ; then
|
||||
|
@ -1,28 +0,0 @@
|
||||
--- modules/libpref/src/init/all.js.orig 2004-01-23 11:22:44.000000000 +0100
|
||||
+++ modules/libpref/src/init/all.js 2004-01-23 11:24:10.000000000 +0100
|
||||
@@ -1819,8 +1819,10 @@
|
||||
pref("print.postscript.nativefont.ar", "");
|
||||
pref("print.postscript.nativefont.el", "");
|
||||
pref("print.postscript.nativefont.he", "");
|
||||
-pref("print.postscript.nativefont.ja", "");
|
||||
-pref("print.postscript.nativefont.ko", "");
|
||||
+pref("print.postscript.nativefont.ja", "UTF-8");
|
||||
+pref("print.postscript.nativefont.ja", "Ryumin-Light-UniJIS-UTF8-H");
|
||||
+pref("print.postscript.nativefont.ko", "UTF-8");
|
||||
+pref("print.postscript.nativefont.ko", "Baekmuk-Gulim-UniKS-UTF8-H");
|
||||
pref("print.postscript.nativefont.th", "");
|
||||
pref("print.postscript.nativefont.tr", "");
|
||||
pref("print.postscript.nativefont.x-baltic", "");
|
||||
@@ -1829,8 +1831,10 @@
|
||||
pref("print.postscript.nativefont.x-unicode", "");
|
||||
pref("print.postscript.nativefont.x-user-def", "");
|
||||
pref("print.postscript.nativefont.x-western", "");
|
||||
-pref("print.postscript.nativefont.zh-CN", "");
|
||||
-pref("print.postscript.nativefont.zh-TW", "");
|
||||
+pref("print.postscript.nativefont.zh-CN", "UTF-8");
|
||||
+pref("print.postscript.nativefont.zh-CN", "GB-Song-Medium-UniGB-UTF8-H");
|
||||
+pref("print.postscript.nativefont.zh-TW", "UTF-8");
|
||||
+pref("print.postscript.nativefont.zh-TW", "B5-Song-Medium-UniCNS-UTF8-H");
|
||||
pref("print.postscript.nativefont.zh-HK", "");
|
||||
|
||||
# XP_UNIX
|
35
create-tar.sh
Normal file
35
create-tar.sh
Normal file
@ -0,0 +1,35 @@
|
||||
#!/bin/bash
|
||||
|
||||
RELEASE_TAG="THUNDERBIRD_3_0b3_RELEASE"
|
||||
VERSION="3.0b3"
|
||||
|
||||
# mozilla
|
||||
hg clone http://hg.mozilla.org/comm-central thunderbird
|
||||
pushd thunderbird
|
||||
hg update -r $RELEASE_TAG
|
||||
python client.py checkout --skip-chatzilla --skip-venkman
|
||||
popd
|
||||
tar cjf thunderbird-$VERSION-source.tar.bz2 --exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=CVS thunderbird
|
||||
|
||||
# l10n
|
||||
# http://l10n.mozilla.org/dashboard/?tree=tb30x -> shipped-locales
|
||||
if [ -e shipped-locales ]; then
|
||||
SHIPPED_LOCALES=shipped-locales
|
||||
else
|
||||
SHIPPED_LOCALES=thunderbird/mail/locales/shipped-locales
|
||||
fi
|
||||
test ! -d l10n && mkdir l10n
|
||||
for locale in $(awk '{ print $1; }' $SHIPPED_LOCALES); do
|
||||
case $locale in
|
||||
ja-JP-mac|en-US)
|
||||
;;
|
||||
*)
|
||||
hg clone http://hg.mozilla.org/releases/l10n-mozilla-1.9.1/$locale l10n/$locale
|
||||
hg -R l10n/$locale up -C -r $RELEASE_TAG
|
||||
;;
|
||||
esac
|
||||
done
|
||||
tar cjf l10n-$VERSION.tar.bz2 \
|
||||
--exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=browser --exclude=calendar \
|
||||
--exclude=suite \
|
||||
l10n
|
889
cups-paper.patch
889
cups-paper.patch
@ -1,889 +0,0 @@
|
||||
From: Wolfgang Rosenauer <stark@suse.de>, Arne John Glenstrup <panic@itu.dk>
|
||||
Subject: get paper sizes from CUPS
|
||||
References:
|
||||
https://bugzilla.novell.com/show_bug.cgi?id=65482
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=324060
|
||||
|
||||
|
||||
================================================================================
|
||||
--- gfx/src/gtk/nsDeviceContextSpecG.cpp
|
||||
+++ gfx/src/gtk/nsDeviceContextSpecG.cpp
|
||||
@@ -66,6 +66,7 @@
|
||||
#ifdef USE_POSTSCRIPT
|
||||
#include "nsPSPrinters.h"
|
||||
#include "nsPaperPS.h" /* Paper size list */
|
||||
+#include "nsPaperFactoryPS.h" /* Paper size list factory */
|
||||
#endif /* USE_POSTSCRIPT */
|
||||
|
||||
/* Ensure that the result is always equal to either PR_TRUE or PR_FALSE */
|
||||
@@ -1210,34 +1211,38 @@
|
||||
#ifdef SET_PRINTER_FEATURES_VIA_PREFS
|
||||
printerFeatures.SetCanChangePaperSize(PR_TRUE);
|
||||
#endif /* SET_PRINTER_FEATURES_VIA_PREFS */
|
||||
- nsXPIDLCString papername;
|
||||
- if (NS_SUCCEEDED(CopyPrinterCharPref(pPrefs, "postscript", printerName, "paper_size", getter_Copies(papername)))) {
|
||||
- nsPaperSizePS paper;
|
||||
-
|
||||
- if (paper.Find(papername)) {
|
||||
- DO_PR_DEBUG_LOG(("setting default paper size to '%s' (%g mm/%g mm)\n",
|
||||
- paper.Name(), paper.Width_mm(), paper.Height_mm()));
|
||||
- aPrintSettings->SetPaperSizeUnit(paper.IsMetric() ?
|
||||
- (int)nsIPrintSettings::kPaperSizeMillimeters :
|
||||
- (int)nsIPrintSettings::kPaperSizeInches);
|
||||
- aPrintSettings->SetPaperWidth(paper.Width_mm());
|
||||
- aPrintSettings->SetPaperHeight(paper.Height_mm());
|
||||
- aPrintSettings->SetPaperName(NS_ConvertASCIItoUCS2(paper.Name()).get());
|
||||
- }
|
||||
- else {
|
||||
- DO_PR_DEBUG_LOG(("Unknown paper size '%s' given.\n", papername.get()));
|
||||
+ {
|
||||
+ nsIPaperSizePS* paper;
|
||||
+ nsresult rv;
|
||||
+ rv = nsPaperFactoryPS::CreatePaper
|
||||
+ (fullPrinterName.get(), printerName.get(), paper);
|
||||
+ if (NS_FAILED(rv)) return rv;
|
||||
+ paper->FindDefault();
|
||||
+
|
||||
+ nsXPIDLCString papername;
|
||||
+ if (NS_SUCCEEDED(CopyPrinterCharPref(pPrefs, "postscript", fullPrinterName, "print_paper_name", getter_Copies(papername)))) {
|
||||
+ if (!paper->Find(papername)) {
|
||||
+ DO_PR_DEBUG_LOG(("Unknown paper size '%s' given.\n", papername.get()));
|
||||
+ }
|
||||
}
|
||||
+ DO_PR_DEBUG_LOG(("setting default paper size to '%s' (%g mm/%g mm)\n",
|
||||
+ paper->Name(), paper->Width_mm(), paper->Height_mm()));
|
||||
+ aPrintSettings->SetPaperSizeUnit(nsIPrintSettings::kPaperSizeMillimeters);
|
||||
+ aPrintSettings->SetPaperWidth(paper->Width_mm());
|
||||
+ aPrintSettings->SetPaperHeight(paper->Height_mm());
|
||||
+ aPrintSettings->SetPaperName(NS_ConvertASCIItoUTF16(paper->Name()).get());
|
||||
#ifdef SET_PRINTER_FEATURES_VIA_PREFS
|
||||
- paper.First();
|
||||
+ paper->First();
|
||||
int count = 0;
|
||||
- while (!paper.AtEnd())
|
||||
+ while (!paper->AtEnd())
|
||||
{
|
||||
- printerFeatures.SetPaperRecord(count++, paper.Name(),
|
||||
- (int)paper.Width_mm(), (int)paper.Height_mm(), !paper.IsMetric());
|
||||
- paper.Next();
|
||||
+ printerFeatures.SetPaperRecord(count++, paper->Name(),
|
||||
+ (int)paper->Width_mm(), (int)paper->Height_mm(), !paper->IsMetric());
|
||||
+ paper->Next();
|
||||
}
|
||||
printerFeatures.SetNumPaperSizeRecords(count);
|
||||
#endif /* SET_PRINTER_FEATURES_VIA_PREFS */
|
||||
+ delete(paper);
|
||||
}
|
||||
|
||||
PRBool hasSpoolerCmd = (nsPSPrinterList::kTypePS ==
|
||||
--- gfx/src/ps/nsPrintJobPS.cpp
|
||||
+++ gfx/src/ps/nsPrintJobPS.cpp
|
||||
@@ -364,6 +364,10 @@
|
||||
const char *slash = strchr(printerName, '/');
|
||||
mPrinterName = slash ? slash + 1 : printerName;
|
||||
mJobTitle.SetIsVoid(PR_TRUE);
|
||||
+ /* Paper name */
|
||||
+ const char* paperName = nsnull;
|
||||
+ aSpec->GetPaperName(&paperName);
|
||||
+ mPaperName = paperName;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
@@ -445,6 +449,11 @@
|
||||
mNumCopies.get(),
|
||||
dest->num_options,
|
||||
&dest->options);
|
||||
+ if (!mPaperName.IsEmpty())
|
||||
+ dest->num_options = (mCups.mCupsAddOption)("media",
|
||||
+ mPaperName.get(),
|
||||
+ dest->num_options,
|
||||
+ &dest->options);
|
||||
const char *title = mJobTitle.IsVoid() ?
|
||||
"Untitled Document" : mJobTitle.get();
|
||||
result = (mCups.mCupsPrintFile)(printer.CStringAt(0)->get(),
|
||||
--- gfx/src/ps/nsPrintJobPS.h
|
||||
+++ gfx/src/ps/nsPrintJobPS.h
|
||||
@@ -179,6 +179,7 @@
|
||||
nsCUPSShim mCups;
|
||||
nsCString mPrinterName;
|
||||
nsCString mNumCopies;
|
||||
+ nsCString mPaperName;
|
||||
nsCString mJobTitle; // IsVoid() if no title
|
||||
};
|
||||
#endif /* VMS */
|
||||
--- gfx/src/psshared/Makefile.in
|
||||
+++ gfx/src/psshared/Makefile.in
|
||||
@@ -57,13 +57,16 @@
|
||||
|
||||
EXPORTS = nsCUPSShim.h \
|
||||
nsPaperPS.h \
|
||||
+ nsIPaperPS.h \
|
||||
nsPSPrinters.h\
|
||||
psSharedCore.h \
|
||||
+ nsPaperFactoryPS.h \
|
||||
$(NULL)
|
||||
|
||||
CPPSRCS = nsCUPSShim.cpp \
|
||||
nsPaperPS.cpp \
|
||||
nsPSPrinters.cpp \
|
||||
+ nsPaperFactoryPS.cpp \
|
||||
$(NULL)
|
||||
|
||||
EXTRA_DSO_LDOPTS = \
|
||||
--- gfx/src/psshared/nsCUPSShim.cpp
|
||||
+++ gfx/src/psshared/nsCUPSShim.cpp
|
||||
@@ -45,13 +45,18 @@
|
||||
// List of symbols to find in libcups. Must match symAddr[] defined in Init().
|
||||
// Making this an array of arrays instead of pointers allows storing the
|
||||
// whole thing in read-only memory.
|
||||
-static const char gSymName[][sizeof("cupsPrintFile")] = {
|
||||
+static const char gSymName[][sizeof("ppdMarkDefaults")] = {
|
||||
{ "cupsAddOption" },
|
||||
{ "cupsFreeDests" },
|
||||
{ "cupsGetDest" },
|
||||
{ "cupsGetDests" },
|
||||
{ "cupsPrintFile" },
|
||||
{ "cupsTempFd" },
|
||||
+ { "cupsGetPPD" },
|
||||
+ { "ppdOpenFile" },
|
||||
+ { "ppdClose" },
|
||||
+ { "ppdMarkDefaults" },
|
||||
+ { "ppdIsMarked" },
|
||||
};
|
||||
static const int gSymNameCt = sizeof(gSymName) / sizeof(gSymName[0]);
|
||||
|
||||
@@ -71,6 +76,11 @@
|
||||
(void **)&mCupsGetDests,
|
||||
(void **)&mCupsPrintFile,
|
||||
(void **)&mCupsTempFd,
|
||||
+ (void **)&mCupsGetPPD,
|
||||
+ (void **)&mPpdOpenFile,
|
||||
+ (void **)&mPpdClose,
|
||||
+ (void **)&mPpdMarkDefaults,
|
||||
+ (void **)&mPpdIsMarked,
|
||||
};
|
||||
|
||||
for (int i = gSymNameCt; i--; ) {
|
||||
--- gfx/src/psshared/nsCUPSShim.h
|
||||
+++ gfx/src/psshared/nsCUPSShim.h
|
||||
@@ -62,6 +62,82 @@
|
||||
cups_option_t *options; /* Options */
|
||||
} cups_dest_t;
|
||||
|
||||
+typedef enum /**** Colorspaces ****/
|
||||
+{
|
||||
+ PPD_CS_CMYK = -4, /* CMYK colorspace */
|
||||
+ PPD_CS_CMY, /* CMY colorspace */
|
||||
+ PPD_CS_GRAY = 1, /* Grayscale colorspace */
|
||||
+ PPD_CS_RGB = 3, /* RGB colorspace */
|
||||
+ PPD_CS_RGBK, /* RGBK (K = gray) colorspace */
|
||||
+ PPD_CS_N /* DeviceN colorspace */
|
||||
+} ppd_cs_t;
|
||||
+
|
||||
+typedef struct /**** Page Sizes ****/
|
||||
+{
|
||||
+ int marked; /* Page size selected? */
|
||||
+ char name[41];
|
||||
+ /* Media size option */
|
||||
+ float width, /* Width of media in points */
|
||||
+ length, /* Length of media in points */
|
||||
+ left, /* Left printable margin in points */
|
||||
+ bottom, /* Bottom printable margin in points */
|
||||
+ right, /* Right printable margin in points */
|
||||
+ top; /* Top printable margin in points */
|
||||
+} ppd_size_t;
|
||||
+
|
||||
+typedef struct /**** Files ****/
|
||||
+{
|
||||
+ int language_level, /* Language level of device */
|
||||
+ color_device, /* 1 = color device, 0 = grayscale */
|
||||
+ variable_sizes, /* 1 = supports variable sizes, 0 = doesn't */
|
||||
+ accurate_screens, /* 1 = supports accurate screens, 0 = not */
|
||||
+ contone_only, /* 1 = continuous tone only, 0 = not */
|
||||
+ landscape, /* -90 or 90 */
|
||||
+ model_number, /* Device-specific model number */
|
||||
+ manual_copies, /* 1 = Copies done manually, 0 = hardware */
|
||||
+ throughput; /* Pages per minute */
|
||||
+ ppd_cs_t colorspace; /* Default colorspace */
|
||||
+ char *patches; /* Patch commands to be sent to printer */
|
||||
+ int num_emulations; /* Number of emulations supported */
|
||||
+ void *emulations; /* Emulations and the code to invoke them */
|
||||
+ char *jcl_begin, /* Start JCL commands */
|
||||
+ *jcl_ps, /* Enter PostScript interpreter */
|
||||
+ *jcl_end, /* End JCL commands */
|
||||
+ *lang_encoding, /* Language encoding */
|
||||
+ *lang_version, /* Language version (English, Spanish, etc.) */
|
||||
+ *modelname, /* Model name (general) */
|
||||
+ *ttrasterizer, /* Truetype rasterizer */
|
||||
+ *manufacturer, /* Manufacturer name */
|
||||
+ *product, /* Product name (from PS RIP/interpreter) */
|
||||
+ *nickname, /* Nickname (specific) */
|
||||
+ *shortnickname; /* Short version of nickname */
|
||||
+ int num_groups; /* Number of UI groups */
|
||||
+ void *groups; /* UI groups */
|
||||
+ int num_sizes; /* Number of page sizes */
|
||||
+ ppd_size_t *sizes; /* Page sizes */
|
||||
+ float custom_min[2], /* Minimum variable page size */
|
||||
+ custom_max[2], /* Maximum variable page size */
|
||||
+ custom_margins[4];/* Margins around page */
|
||||
+ int num_consts; /* Number of UI/Non-UI constraints */
|
||||
+ void *consts; /* UI/Non-UI constraints */
|
||||
+ int num_fonts; /* Number of pre-loaded fonts */
|
||||
+ char **fonts; /* Pre-loaded fonts */
|
||||
+ int num_profiles; /* Number of sRGB color profiles */
|
||||
+ void *profiles; /* sRGB color profiles */
|
||||
+ int num_filters; /* Number of filters */
|
||||
+ char **filters; /* Filter strings... */
|
||||
+
|
||||
+ /**** New in CUPS 1.1 ****/
|
||||
+ int flip_duplex; /* 1 = Flip page for back sides */
|
||||
+
|
||||
+ /**** New in CUPS 1.1.19 ****/
|
||||
+ char *protocols, /* Protocols (BCP, TBCP) string */
|
||||
+ *pcfilename; /* PCFileName string */
|
||||
+ int num_attrs, /* Number of attributes */
|
||||
+ cur_attr; /* Current attribute */
|
||||
+ void **attrs; /* Attributes */
|
||||
+} ppd_file_t;
|
||||
+
|
||||
typedef cups_dest_t* (PR_CALLBACK *CupsGetDestType)(const char *printer,
|
||||
const char *instance,
|
||||
int num_dests,
|
||||
@@ -80,6 +156,11 @@
|
||||
const char *value,
|
||||
int num_options,
|
||||
cups_option_t **options);
|
||||
+typedef const char* (PR_CALLBACK *CupsGetPPDType) (const char* name);
|
||||
+typedef ppd_file_t* (PR_CALLBACK *PPDOpenFileType) (const char* filename);
|
||||
+typedef void (PR_CALLBACK *PPDCloseType) (ppd_file_t* ppd);
|
||||
+typedef void (PR_CALLBACK *PPDMarkDefaultsType) (ppd_file_t* ppd);
|
||||
+typedef int (PR_CALLBACK *PPDIsMarkedType) (ppd_file_t* ppd, const char* pname, const char* pname_clear);
|
||||
|
||||
struct PRLibrary;
|
||||
|
||||
@@ -113,6 +194,11 @@
|
||||
CupsGetDestsType mCupsGetDests;
|
||||
CupsPrintFileType mCupsPrintFile;
|
||||
CupsTempFdType mCupsTempFd;
|
||||
+ CupsGetPPDType mCupsGetPPD;
|
||||
+ PPDOpenFileType mPpdOpenFile;
|
||||
+ PPDCloseType mPpdClose;
|
||||
+ PPDMarkDefaultsType mPpdMarkDefaults;
|
||||
+ PPDIsMarkedType mPpdIsMarked;
|
||||
|
||||
private:
|
||||
PRLibrary *mCupsLib;
|
||||
--- gfx/src/psshared/nsIPaperPS.h
|
||||
+++ gfx/src/psshared/nsIPaperPS.h
|
||||
@@ -0,0 +1,102 @@
|
||||
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||
+/* ex: set tabstop=8 softtabstop=4 shiftwidth=4 expandtab: */
|
||||
+/* ***** BEGIN LICENSE BLOCK *****
|
||||
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
+ *
|
||||
+ * The contents of this file are subject to the Mozilla Public License Version
|
||||
+ * 1.1 (the "License"); you may not use this file except in compliance with
|
||||
+ * the License. You may obtain a copy of the License at
|
||||
+ * http://www.mozilla.org/MPL/
|
||||
+ *
|
||||
+ * Software distributed under the License is distributed on an "AS IS" basis,
|
||||
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
+ * for the specific language governing rights and limitations under the
|
||||
+ * License.
|
||||
+ *
|
||||
+ * Contributor(s):
|
||||
+ * Arne John Glenstrup <panic@itu.dk>
|
||||
+ *
|
||||
+ * Alternatively, the contents of this file may be used under the terms of
|
||||
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
+ * in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
+ * of those above. If you wish to allow use of your version of this file only
|
||||
+ * under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
+ * use your version of this file under the terms of the MPL, indicate your
|
||||
+ * decision by deleting the provisions above and replace them with the notice
|
||||
+ * and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
+ * the provisions above, a recipient may use your version of this file under
|
||||
+ * the terms of any one of the MPL, the GPL or the LGPL.
|
||||
+ *
|
||||
+ * ***** END LICENSE BLOCK ***** */
|
||||
+
|
||||
+
|
||||
+#ifndef _NSIPAPERPS_H_
|
||||
+#define _NSIPAPERPS_H_
|
||||
+
|
||||
+#include "prtypes.h"
|
||||
+#include "psSharedCore.h"
|
||||
+
|
||||
+class nsIPaperSizePS {
|
||||
+ public:
|
||||
+ /** ---------------------------------------------------
|
||||
+ * Virtual destructor.
|
||||
+ */
|
||||
+ virtual ~nsIPaperSizePS();
|
||||
+
|
||||
+ /* Allow the paper factory to create instances */
|
||||
+ friend class nsPaperFactoryPS;
|
||||
+
|
||||
+ /** ---------------------------------------------------
|
||||
+ * @return PR_TRUE if the cursor points past the last item.
|
||||
+ */
|
||||
+ virtual PRBool AtEnd() = 0;
|
||||
+
|
||||
+ /** ---------------------------------------------------
|
||||
+ * Position the cursor at the beginning of the paper size list.
|
||||
+ * @return VOID
|
||||
+ */
|
||||
+ virtual void First() = 0;
|
||||
+
|
||||
+ /** ---------------------------------------------------
|
||||
+ * Advance the cursor to the next item.
|
||||
+ * @return VOID
|
||||
+ */
|
||||
+ virtual void Next() = 0;
|
||||
+
|
||||
+ /** ---------------------------------------------------
|
||||
+ * Point the cursor to the entry with the given paper name.
|
||||
+ * @return PR_TRUE if pointing to a valid entry.
|
||||
+ */
|
||||
+ virtual PRBool Find(const char *aName) = 0;
|
||||
+
|
||||
+ /** ---------------------------------------------------
|
||||
+ * Point the cursor to a default entry if available.
|
||||
+ * Otherwise it's equivalent to First().
|
||||
+ * @return PR_TRUE if pointing to a valid entry.
|
||||
+ */
|
||||
+ virtual PRBool FindDefault() = 0;
|
||||
+
|
||||
+ /** ---------------------------------------------------
|
||||
+ * @return a pointer to the name of the current paper size
|
||||
+ */
|
||||
+ virtual const char *Name() = 0;
|
||||
+
|
||||
+ /** ---------------------------------------------------
|
||||
+ * @return the width of the page in millimeters
|
||||
+ */
|
||||
+ virtual float Width_mm() = 0;
|
||||
+
|
||||
+ /** ---------------------------------------------------
|
||||
+ * @return the height of the page in millimeters
|
||||
+ */
|
||||
+ virtual float Height_mm() = 0;
|
||||
+
|
||||
+ /** ---------------------------------------------------
|
||||
+ * @return PR_TRUE if the paper should be presented to
|
||||
+ * the user in metric units.
|
||||
+ */
|
||||
+ virtual PRBool IsMetric() { return PR_TRUE; };
|
||||
+};
|
||||
+
|
||||
+#endif /* _NSIPAPERPS_H_ */
|
||||
--- gfx/src/psshared/nsPSPrinters.h
|
||||
+++ gfx/src/psshared/nsPSPrinters.h
|
||||
@@ -44,6 +44,7 @@
|
||||
#include "prtypes.h"
|
||||
#include "nsCUPSShim.h"
|
||||
#include "psSharedCore.h"
|
||||
+#include "nsCOMPtr.h"
|
||||
|
||||
class nsIPrefService;
|
||||
class nsIPrefBranch;
|
||||
--- gfx/src/psshared/nsPaperFactoryPS.cpp
|
||||
+++ gfx/src/psshared/nsPaperFactoryPS.cpp
|
||||
@@ -0,0 +1,65 @@
|
||||
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||
+/* ex: set tabstop=8 softtabstop=4 shiftwidth=4 expandtab: */
|
||||
+/* ***** BEGIN LICENSE BLOCK *****
|
||||
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
+ *
|
||||
+ * The contents of this file are subject to the Mozilla Public License Version
|
||||
+ * 1.1 (the "License"); you may not use this file except in compliance with
|
||||
+ * the License. You may obtain a copy of the License at
|
||||
+ * http://www.mozilla.org/MPL/
|
||||
+ *
|
||||
+ * Software distributed under the License is distributed on an "AS IS" basis,
|
||||
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
+ * for the specific language governing rights and limitations under the
|
||||
+ * License.
|
||||
+ *
|
||||
+ * The Original Code is mozilla.org code.
|
||||
+ *
|
||||
+ * The Initial Developer of the Original Code is
|
||||
+ * Kenneth Herron <kherron@fastmail.us>.
|
||||
+ * Portions created by the Initial Developer are Copyright (C) 2004
|
||||
+ * the Initial Developer. All Rights Reserved.
|
||||
+ *
|
||||
+ * Contributor(s):
|
||||
+ * Arne John Glenstrup <panic@itu.dk>
|
||||
+ *
|
||||
+ * Alternatively, the contents of this file may be used under the terms of
|
||||
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
+ * in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
+ * of those above. If you wish to allow use of your version of this file only
|
||||
+ * under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
+ * use your version of this file under the terms of the MPL, indicate your
|
||||
+ * decision by deleting the provisions above and replace them with the notice
|
||||
+ * and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
+ * the provisions above, a recipient may use your version of this file under
|
||||
+ * the terms of any one of the MPL, the GPL or the LGPL.
|
||||
+ *
|
||||
+ * ***** END LICENSE BLOCK ***** */
|
||||
+
|
||||
+
|
||||
+#include "nsDebug.h"
|
||||
+#include "nsPaperFactoryPS.h"
|
||||
+#include "nsIPaperPS.h"
|
||||
+#include "nsPaperPS.h"
|
||||
+#include "nsPSPrinters.h"
|
||||
+
|
||||
+nsresult
|
||||
+nsPaperFactoryPS::CreatePaper(const char* fullPrinterName,
|
||||
+ const char* printerName,
|
||||
+ nsIPaperSizePS* &aPaper)
|
||||
+{
|
||||
+ nsIPaperSizePS *newPZ;
|
||||
+
|
||||
+ if (nsPSPrinterList::kTypeCUPS == nsPSPrinterList::GetPrinterType
|
||||
+ (nsDependentCString(fullPrinterName)))
|
||||
+ newPZ = new nsPaperSizeCUPS(fullPrinterName, printerName);
|
||||
+ else
|
||||
+ newPZ = new nsPaperSizePS();
|
||||
+
|
||||
+ if (!newPZ)
|
||||
+ return NS_ERROR_OUT_OF_MEMORY;
|
||||
+
|
||||
+ aPaper = newPZ;
|
||||
+ return NS_OK;
|
||||
+}
|
||||
--- gfx/src/psshared/nsPaperFactoryPS.h
|
||||
+++ gfx/src/psshared/nsPaperFactoryPS.h
|
||||
@@ -0,0 +1,64 @@
|
||||
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||
+/* ex: set tabstop=8 softtabstop=4 shiftwidth=4 expandtab: */
|
||||
+/* ***** BEGIN LICENSE BLOCK *****
|
||||
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
+ *
|
||||
+ * The contents of this file are subject to the Mozilla Public License Version
|
||||
+ * 1.1 (the "License"); you may not use this file except in compliance with
|
||||
+ * the License. You may obtain a copy of the License at
|
||||
+ * http://www.mozilla.org/MPL/
|
||||
+ *
|
||||
+ * Software distributed under the License is distributed on an "AS IS" basis,
|
||||
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
+ * for the specific language governing rights and limitations under the
|
||||
+ * License.
|
||||
+ *
|
||||
+ * Contributor(s):
|
||||
+ * Arne John Glenstrup <panic@itu.dk>
|
||||
+ *
|
||||
+ * Alternatively, the contents of this file may be used under the terms of
|
||||
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
+ * in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
+ * of those above. If you wish to allow use of your version of this file only
|
||||
+ * under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
+ * use your version of this file under the terms of the MPL, indicate your
|
||||
+ * decision by deleting the provisions above and replace them with the notice
|
||||
+ * and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
+ * the provisions above, a recipient may use your version of this file under
|
||||
+ * the terms of any one of the MPL, the GPL or the LGPL.
|
||||
+ *
|
||||
+ * ***** END LICENSE BLOCK ***** */
|
||||
+
|
||||
+#ifndef nsPaperFactoryPS_h__
|
||||
+#define nsPaperFactoryPS_h__
|
||||
+
|
||||
+#include "nscore.h"
|
||||
+#include "nsIPaperPS.h"
|
||||
+
|
||||
+/* Factory class for the paper sizes. This class determines
|
||||
+ * which paper size class should handle a request, and constructs
|
||||
+ * an object of the appropriate class.
|
||||
+ */
|
||||
+
|
||||
+class NS_PSSHARED nsPaperFactoryPS
|
||||
+{
|
||||
+public:
|
||||
+ /**
|
||||
+ * Construct a paper size object for the given device context spec.
|
||||
+ * On success, the paper size object is owned by the caller and should
|
||||
+ * be destroyed when no longer needed.
|
||||
+ *
|
||||
+ * @param fullPrinterName Fully qualified name, e.g., "CUPS/myprinter"
|
||||
+ * @param printerName Stripped name, e.g., "myprinter"
|
||||
+ * @param aPaper If NS_OK is returned, this will be filled
|
||||
+ * in with a pointer to a paper size object.
|
||||
+ * @return NS_OK or a suitable error value.
|
||||
+ */
|
||||
+ static nsresult CreatePaper(const char* fullPrinterName,
|
||||
+ const char* printerName,
|
||||
+ nsIPaperSizePS* &aPaper);
|
||||
+};
|
||||
+
|
||||
+
|
||||
+#endif /* nsPaperFactoryPS_h__ */
|
||||
--- gfx/src/psshared/nsPaperPS.h
|
||||
+++ gfx/src/psshared/nsPaperPS.h
|
||||
@@ -40,9 +40,9 @@
|
||||
#ifndef _PAPERPS_H_
|
||||
#define _PAPERPS_H_
|
||||
|
||||
-#include "prtypes.h"
|
||||
+#include "nsIPaperPS.h"
|
||||
#include "nsDebug.h"
|
||||
-#include "psSharedCore.h"
|
||||
+#include "nsCUPSShim.h"
|
||||
|
||||
struct nsPaperSizePS_ {
|
||||
const char *name;
|
||||
@@ -51,13 +51,13 @@
|
||||
PRBool isMetric; // Present to the user in metric, if possible
|
||||
};
|
||||
|
||||
-class NS_PSSHARED nsPaperSizePS {
|
||||
+class NS_PSSHARED nsPaperSizePS : public nsIPaperSizePS {
|
||||
public:
|
||||
/** ---------------------------------------------------
|
||||
* Constructor
|
||||
*/
|
||||
- nsPaperSizePS() { mCurrent = 0; }
|
||||
-
|
||||
+ nsPaperSizePS();
|
||||
+
|
||||
/** ---------------------------------------------------
|
||||
* @return PR_TRUE if the cursor points past the last item.
|
||||
*/
|
||||
@@ -85,6 +85,12 @@
|
||||
PRBool Find(const char *aName);
|
||||
|
||||
/** ---------------------------------------------------
|
||||
+ * Position the cursor at the beginning of the paper size list.
|
||||
+ * @return PR_TRUE
|
||||
+ */
|
||||
+ PRBool FindDefault() { mCurrent = 0; return PR_TRUE; }
|
||||
+
|
||||
+ /** ---------------------------------------------------
|
||||
* @return a pointer to the name of the current paper size
|
||||
*/
|
||||
const char *Name() {
|
||||
@@ -117,11 +123,83 @@
|
||||
return mList[mCurrent].isMetric;
|
||||
}
|
||||
|
||||
- private:
|
||||
+ protected:
|
||||
unsigned int mCurrent;
|
||||
// the class visibility should export these, but it doesn't
|
||||
static NS_PSSHARED_STATIC_MEMBER_(const nsPaperSizePS_) mList[];
|
||||
- static NS_PSSHARED_STATIC_MEMBER_(const unsigned int) mCount;
|
||||
+ unsigned int mCount;
|
||||
+};
|
||||
+
|
||||
+class NS_PSSHARED nsPaperSizeCUPS : public nsPaperSizePS {
|
||||
+ public:
|
||||
+ /** ---------------------------------------------------
|
||||
+ * Constructor for a specific CUPS printer.
|
||||
+ * @param fullPrinterName Fully qualified name, e.g., "CUPS/myprinter"
|
||||
+ * @param printerName Stripped name, e.g., "myprinter"
|
||||
+ */
|
||||
+ nsPaperSizeCUPS(const char* fullPrinterName, const char* printerName);
|
||||
+
|
||||
+ /** ---------------------------------------------------
|
||||
+ * Destructor.
|
||||
+ */
|
||||
+ ~nsPaperSizeCUPS();
|
||||
+
|
||||
+ /** ---------------------------------------------------
|
||||
+ * Position the cursor at the beginning of the paper size list.
|
||||
+ * @return VOID
|
||||
+ */
|
||||
+ void First() {
|
||||
+ nsPaperSizePS::First();
|
||||
+ SkipZeroSizes();
|
||||
+ }
|
||||
+
|
||||
+ /** ---------------------------------------------------
|
||||
+ * Advance the cursor to the next item.
|
||||
+ * @return VOID
|
||||
+ */
|
||||
+ void Next() {
|
||||
+ nsPaperSizePS::Next();
|
||||
+ SkipZeroSizes();
|
||||
+ }
|
||||
+
|
||||
+ /** ---------------------------------------------------
|
||||
+ * Point the cursor to the entry with the given paper name.
|
||||
+ * @return PR_TRUE if pointing to a valid entry.
|
||||
+ */
|
||||
+ PRBool Find(const char *aName);
|
||||
+
|
||||
+ /** ---------------------------------------------------
|
||||
+ * Point the cursor to the CUPS default entry for paper size.
|
||||
+ * @return PR_TRUE if pointing to a valid entry.
|
||||
+ */
|
||||
+ PRBool FindDefault();
|
||||
+
|
||||
+ /** ---------------------------------------------------
|
||||
+ * @return a pointer to the name of the current paper size
|
||||
+ */
|
||||
+ const char *Name();
|
||||
+
|
||||
+ /** ---------------------------------------------------
|
||||
+ * @return the width of the page in millimeters
|
||||
+ */
|
||||
+ float Width_mm();
|
||||
+
|
||||
+ /** ---------------------------------------------------
|
||||
+ * @return the height of the page in millimeters
|
||||
+ */
|
||||
+ float Height_mm();
|
||||
+
|
||||
+ /** ---------------------------------------------------
|
||||
+ * @return PR_TRUE if the paper should be presented to
|
||||
+ * the user in metric units.
|
||||
+ */
|
||||
+ PRBool IsMetric();
|
||||
+
|
||||
+ private:
|
||||
+ void SkipZeroSizes();
|
||||
+ PRBool mUsingCups;
|
||||
+ static NS_PSSHARED_STATIC_MEMBER_(nsCUPSShim) mCups;
|
||||
+ ppd_file_t* mPPD;
|
||||
};
|
||||
|
||||
#endif
|
||||
--- gfx/src/xlib/nsDeviceContextSpecXlib.cpp
|
||||
+++ gfx/src/xlib/nsDeviceContextSpecXlib.cpp
|
||||
@@ -1212,7 +1212,11 @@
|
||||
#endif /* SET_PRINTER_FEATURES_VIA_PREFS */
|
||||
nsXPIDLCString papername;
|
||||
if (NS_SUCCEEDED(CopyPrinterCharPref(pPrefs, "postscript", printerName, "paper_size", getter_Copies(papername)))) {
|
||||
- nsPaperSizePS paper;
|
||||
+ nsIPaperSizePS* paper;
|
||||
+ nsresult rv;
|
||||
+ rv = nsPaperFactoryPS::CreatePaper
|
||||
+ (fullPrinterName.get(), printerName.get(), paper);
|
||||
+ if (NS_FAILED(rv)) return rv;
|
||||
|
||||
if (paper.Find(papername)) {
|
||||
DO_PR_DEBUG_LOG(("setting default paper size to '%s' (%g mm/%g mm)\n",
|
||||
@@ -1238,6 +1242,7 @@
|
||||
}
|
||||
printerFeatures.SetNumPaperSizeRecords(count);
|
||||
#endif /* SET_PRINTER_FEATURES_VIA_PREFS */
|
||||
+ delete(paper);
|
||||
}
|
||||
|
||||
PRBool hasSpoolerCmd = (nsPSPrinterList::kTypePS ==
|
||||
Index: gfx/src/psshared/nsPaperPS.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/gfx/src/psshared/nsPaperPS.cpp,v
|
||||
retrieving revision 1.1.20.1
|
||||
diff -u -p -6 -r1.1.20.1 nsPaperPS.cpp
|
||||
--- gfx/src/psshared/nsPaperPS.cpp 3 Dec 2006 17:59:29 -0000 1.1.20.1
|
||||
+++ gfx/src/psshared/nsPaperPS.cpp 31 Oct 2007 14:28:58 -0000
|
||||
@@ -19,12 +19,14 @@
|
||||
* The Initial Developer of the Original Code is
|
||||
* Kenneth Herron <kherron@newsguy.com>.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2004
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
+ * Arne John Glenstrup <panic@itu.dk>
|
||||
+ * Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
@@ -34,15 +36,32 @@
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
-
|
||||
+#ifdef MOZ_LOGGING
|
||||
+#define FORCE_PR_LOG 1 /* Allow logging in the release build */
|
||||
+#endif /* MOZ_LOGGING */
|
||||
+#include "prlog.h"
|
||||
+#include "prio.h"
|
||||
+
|
||||
#include "nsPaperPS.h"
|
||||
#include "plstr.h"
|
||||
+#include "nsPSPrinters.h"
|
||||
+#include <math.h>
|
||||
+
|
||||
+#ifdef PR_LOGGING
|
||||
+static PRLogModuleInfo *PaperSizePSLM = PR_NewLogModule("PaperSizePS");
|
||||
+#endif /* PR_LOGGING */
|
||||
+/* Macro to make lines shorter */
|
||||
+#define DO_PR_DEBUG_LOG(x) PR_LOG(PaperSizePSLM, PR_LOG_DEBUG, x)
|
||||
+
|
||||
+#define MM_PER_PT (25.4 / 72.0)
|
||||
+#define HALF_INCH_PT 36.0
|
||||
+#define EPSILON 0.125
|
||||
|
||||
#define COUNTOF(x) (sizeof(x) / sizeof((x)[0]))
|
||||
|
||||
const nsPaperSizePS_ nsPaperSizePS::mList[] =
|
||||
{
|
||||
#define SIZE_MM(x) (x)
|
||||
@@ -55,19 +74,153 @@ const nsPaperSizePS_ nsPaperSizePS::mLis
|
||||
{ "Tabloid", SIZE_INCH(11), SIZE_INCH(17), PR_FALSE },
|
||||
{ "Executive", SIZE_INCH(7.5), SIZE_INCH(10), PR_FALSE },
|
||||
#undef SIZE_INCH
|
||||
#undef SIZE_MM
|
||||
};
|
||||
|
||||
-const unsigned int nsPaperSizePS::mCount = COUNTOF(mList);
|
||||
+nsCUPSShim nsPaperSizeCUPS::mCups;
|
||||
+
|
||||
+/* ~nsIPaperSizePS() is virtual, so must implement a destructor. */
|
||||
+nsIPaperSizePS::~nsIPaperSizePS () { }
|
||||
+
|
||||
+nsPaperSizePS::nsPaperSizePS() {
|
||||
+ mCount = COUNTOF(mList);
|
||||
+ mCurrent = 0;
|
||||
+}
|
||||
|
||||
PRBool
|
||||
nsPaperSizePS::Find(const char *aName)
|
||||
{
|
||||
for (int i = mCount; i--; ) {
|
||||
if (!PL_strcasecmp(aName, mList[i].name)) {
|
||||
mCurrent = i;
|
||||
return PR_TRUE;
|
||||
}
|
||||
}
|
||||
return PR_FALSE;
|
||||
}
|
||||
+
|
||||
+nsPaperSizeCUPS::nsPaperSizeCUPS(const char* fullPrinterName,
|
||||
+ const char* printerName) {
|
||||
+ DO_PR_DEBUG_LOG(("nsPaperSizeCUPS::nsPaperSizeCUPS('%s', '%s')\n",
|
||||
+ fullPrinterName, printerName));
|
||||
+ /* Don't use CUPS before we are sure we have access to the PPD */
|
||||
+ mUsingCups = false;
|
||||
+ mPPD = nsnull;
|
||||
+ mCount = COUNTOF(mList);
|
||||
+ mCurrent = 0;
|
||||
+ if (!fullPrinterName || !printerName ||
|
||||
+ nsPSPrinterList::kTypeCUPS !=
|
||||
+ nsPSPrinterList::GetPrinterType(nsDependentCString(fullPrinterName)))
|
||||
+ return;
|
||||
+ if (!mCups.IsInitialized()) { mCups.Init(); }
|
||||
+ if (!mCups.IsInitialized()) {
|
||||
+ DO_PR_DEBUG_LOG(("nsPaperSizeCUPS::nsPaperSizeCUPS: CUPS unavailable\n"));
|
||||
+ return;
|
||||
+ }
|
||||
+ const char* ppdFileName = mCups.mCupsGetPPD(printerName);
|
||||
+ if (!ppdFileName) {
|
||||
+ DO_PR_DEBUG_LOG(("nsPaperSizeCUPS::nsPaperSizeCUPS: "
|
||||
+ "cannot get PPD file name for printer '%s'\n",
|
||||
+ printerName));
|
||||
+ return;
|
||||
+ }
|
||||
+ mPPD = mCups.mPpdOpenFile(ppdFileName);
|
||||
+ // Remove the PPD file returned (it is a temporary file)
|
||||
+ // as soon as we've opened it
|
||||
+ if (ppdFileName) PR_Delete(ppdFileName);
|
||||
+
|
||||
+ if (!mPPD) {
|
||||
+ DO_PR_DEBUG_LOG(("nsPaperSizeCUPS::nsPaperSizeCUPS: "
|
||||
+ "cannot open PPD file '%s'\n",
|
||||
+ ppdFileName));
|
||||
+ return;
|
||||
+ }
|
||||
+ mCount = mPPD->num_sizes;
|
||||
+ mUsingCups = true;
|
||||
+}
|
||||
+
|
||||
+nsPaperSizeCUPS::~nsPaperSizeCUPS() {
|
||||
+ if (mPPD) mCups.mPpdClose(mPPD);
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+nsPaperSizeCUPS::SkipZeroSizes() {
|
||||
+ if (!mUsingCups) return;
|
||||
+ while (mCurrent < mCount
|
||||
+ && (mPPD->sizes[mCurrent].width == 0.0f ||
|
||||
+ mPPD->sizes[mCurrent].length == 0.0f)) {
|
||||
+ mCurrent++;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+PRBool
|
||||
+nsPaperSizeCUPS::Find(const char* aName) {
|
||||
+ DO_PR_DEBUG_LOG(("nsPaperSizeCUPS::Find ('%s') ", aName));
|
||||
+ if (!mUsingCups) return nsPaperSizePS::Find(aName);
|
||||
+ for (int i = mCount; i--; ) {
|
||||
+ if (!PL_strcasecmp(aName, mPPD->sizes[i].name)) {
|
||||
+ DO_PR_DEBUG_LOG
|
||||
+ (("found paper '%s' (%gx%gmm)\n",
|
||||
+ aName,
|
||||
+ round(mPPD->sizes[i].width * MM_PER_PT),
|
||||
+ round(mPPD->sizes[i].length * MM_PER_PT)));
|
||||
+ mCurrent = i;
|
||||
+ return PR_TRUE;
|
||||
+ }
|
||||
+ }
|
||||
+ DO_PR_DEBUG_LOG(("did not find paper '%s'\n", aName));
|
||||
+ return PR_FALSE;
|
||||
+}
|
||||
+
|
||||
+PRBool
|
||||
+nsPaperSizeCUPS::FindDefault() {
|
||||
+ DO_PR_DEBUG_LOG(("nsPaperSizeCUPS::FindDefault"));
|
||||
+ if (!mUsingCups) return nsPaperSizePS::FindDefault();
|
||||
+ mCups.mPpdMarkDefaults(mPPD);
|
||||
+ for (int i = mCount; i--; ) {
|
||||
+ if (mCups.mPpdIsMarked(mPPD, "PageSize", mPPD->sizes[i].name )) {
|
||||
+ DO_PR_DEBUG_LOG
|
||||
+ (("found default paper '%s' (%gx%gmm)\n",
|
||||
+ mPPD->sizes[i].name,
|
||||
+ round(mPPD->sizes[i].width * MM_PER_PT),
|
||||
+ round(mPPD->sizes[i].length * MM_PER_PT)));
|
||||
+ mCurrent = i;
|
||||
+ return PR_TRUE;
|
||||
+ }
|
||||
+ }
|
||||
+ mCurrent = 0;
|
||||
+ DO_PR_DEBUG_LOG(("no default paper found, therefore set the first\n"));
|
||||
+ return PR_TRUE;
|
||||
+}
|
||||
+
|
||||
+const char*
|
||||
+nsPaperSizeCUPS::Name() {
|
||||
+ if (!mUsingCups) return nsPaperSizePS::Name();
|
||||
+ NS_PRECONDITION(!AtEnd(), "Invalid current item");
|
||||
+ return mPPD->sizes[mCurrent].name;
|
||||
+}
|
||||
+
|
||||
+float
|
||||
+nsPaperSizeCUPS::Width_mm() {
|
||||
+ if (!mUsingCups) return nsPaperSizePS::Width_mm();
|
||||
+ NS_PRECONDITION(!AtEnd(), "Invalid current item");
|
||||
+ return round(mPPD->sizes[mCurrent].width * MM_PER_PT);
|
||||
+}
|
||||
+
|
||||
+float
|
||||
+nsPaperSizeCUPS::Height_mm() {
|
||||
+ if (!mUsingCups) return nsPaperSizePS::Height_mm();
|
||||
+ NS_PRECONDITION(!AtEnd(), "Invalid current item");
|
||||
+ return round(mPPD->sizes[mCurrent].length * MM_PER_PT);
|
||||
+}
|
||||
+
|
||||
+PRBool
|
||||
+nsPaperSizeCUPS::IsMetric() {
|
||||
+ if (!mUsingCups) return nsPaperSizePS::IsMetric();
|
||||
+ NS_PRECONDITION(!AtEnd(), "Invalid current item");
|
||||
+ /* Educated guess: unless sizes are integral number */
|
||||
+ /* of half inches, present them to the user in metric. */
|
||||
+ return
|
||||
+ fabs(fmod(mPPD->sizes[mCurrent].width, HALF_INCH_PT)) > EPSILON ||
|
||||
+ fabs(fmod(mPPD->sizes[mCurrent].length, HALF_INCH_PT)) > EPSILON;
|
||||
+}
|
@ -1,34 +0,0 @@
|
||||
--- ipc/src/Makefile.in.orig 2005-06-14 09:19:56.000000000 +0200
|
||||
+++ enigmail/ipc/src/Makefile.in 2005-06-14 09:20:09.000000000 +0200
|
||||
@@ -74,6 +74,7 @@ EXPORTS = \
|
||||
|
||||
LOCAL_INCLUDES = \
|
||||
-I$(srcdir)/../build \
|
||||
+ -fPIC \
|
||||
$(NULL)
|
||||
|
||||
CPPSRCS = \
|
||||
--- enigmail/build/Makefile.in.orig 2005-10-04 20:12:03.000000000 +0200
|
||||
+++ enigmail/build/Makefile.in 2005-10-04 20:12:35.000000000 +0200
|
||||
@@ -51,9 +51,10 @@
|
||||
LIBRARY_NAME = enigmime
|
||||
SHORT_LIBNAME = enigmime
|
||||
|
||||
-MODULE_NAME = EnigModule
|
||||
+#MODULE_NAME = EnigModule
|
||||
|
||||
IS_COMPONENT = 1
|
||||
+FORCE_SHARED_LIB = 1
|
||||
|
||||
ifdef USE_XPCOM_GLUE
|
||||
# Ensure that the xpcom classes that we build
|
||||
--- enigmail/src/Makefile.in.orig 2006-01-11 20:54:23.000000000 +0100
|
||||
+++ enigmail/src/Makefile.in 2006-01-11 20:54:43.000000000 +0100
|
||||
@@ -94,6 +94,7 @@
|
||||
LOCAL_INCLUDES = \
|
||||
-I$(srcdir)/../build \
|
||||
-I$(srcdir)/../../../mime/src \
|
||||
+ -fPIC \
|
||||
$(NULL)
|
||||
|
||||
CPPSRCS = \
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ab763fdbde5bd249a1e40309d656fa5cdbc0e614fbc59f1a2704f80dd084ee3b
|
||||
size 852073
|
3
enigmail-20090716.tar.bz2
Normal file
3
enigmail-20090716.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ce63e22bf581d5152f9aaa3f0049a68d5c3027e8f21f8850c3b515da7895d0b5
|
||||
size 759314
|
@ -1,17 +0,0 @@
|
||||
content enigmail jar:chrome/enigmail.jar!/content/enigmail/
|
||||
locale enigmail en-US jar:chrome/enigmail.jar!/locale/en-US/enigmail/
|
||||
skin enigmail classic jar:chrome/enigmail-skin-tbird.jar!/skin/classic/enigmail/
|
||||
overlay chrome://messenger/content/messengercompose/messengercompose.xul chrome://enigmail/content/enigmailCheckLanguage.xul
|
||||
overlay chrome://messenger/content/messengercompose/messengercompose.xul chrome://enigmail/content/enigmailMsgComposeOverlay.xul
|
||||
overlay chrome://messenger/content/mailWindowOverlay.xul chrome://enigmail/content/enigmailCheckLanguage.xul
|
||||
overlay chrome://messenger/content/mailWindowOverlay.xul chrome://enigmail/content/enigmailMessengerOverlay.xul
|
||||
overlay chrome://messenger/content/msgHdrViewOverlay.xul chrome://enigmail/content/enigmailMsgHdrViewOverlay.xul
|
||||
overlay chrome://messenger/content/msgPrintEngine.xul chrome://enigmail/content/enigmailMsgPrintOverlay.xul
|
||||
overlay chrome://messenger/content/am-identity-edit.xul chrome://enigmail/content/enigmailAmIdEditOverlay.xul
|
||||
overlay chrome://messenger/content/am-identity-edit.xul chrome://enigmail/content/enigmailEditIdentity.xul
|
||||
overlay chrome://messenger/content/addressbook/addressbook.xul chrome://enigmail/content/enigmailAbCardViewOverlay.xul
|
||||
overlay chrome://messenger/content/addressbook/abContactsPanel.xul chrome://enigmail/content/enigmailAbContactsPanel.xul
|
||||
overlay chrome://global/content/customizeToolbar.xul chrome://enigmail/content/enigmailCustToolOverlay.xul
|
||||
overlay chrome://communicator/content/pref/preftree.xul chrome://enigmail/content/enigmailPrefsOverlay.xul
|
||||
overlay chrome://enigmail/content/am-enigprefs.xul chrome://enigmail/content/enigmailEditIdentity.xul
|
||||
overlay chrome://enigmail/content/am-enigprefs-edit.xul chrome://enigmail/content/enigmailEditIdentity.xul
|
23
find-external-requires.sh
Normal file
23
find-external-requires.sh
Normal file
@ -0,0 +1,23 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Finds requirements provided outside of the current file set
|
||||
|
||||
filelist=`sed "s/[]['\"*?{}]/\\\\\&/g"`
|
||||
|
||||
provides=`echo "$filelist" | /usr/lib/rpm/find-provides`
|
||||
|
||||
{
|
||||
for f in $filelist ; do
|
||||
echo $f | /usr/lib/rpm/find-requires | while read req ; do
|
||||
found=0
|
||||
for p in $provides ; do
|
||||
if [ "$req" = "$p" ]; then
|
||||
found=1
|
||||
fi
|
||||
done
|
||||
if [ "$found" = "0" ]; then
|
||||
echo $req
|
||||
fi
|
||||
done
|
||||
done
|
||||
} | sort -u
|
@ -1,90 +0,0 @@
|
||||
--- layout/base/nsCSSRendering.cpp.orig 2006-10-25 23:59:19.000000000 +0200
|
||||
+++ layout/base/nsCSSRendering.cpp 2006-10-26 00:00:04.000000000 +0200
|
||||
@@ -1000,14 +1000,14 @@
|
||||
FillOrInvertRect(aContext, dashRect.x, borderOutside.y,dashRect.width, dashRect.height-adjust,isInvert);
|
||||
FillOrInvertRect(aContext,dashRect.x,(borderOutside.YMost()-(dashRect.height-adjust)),dashRect.width, dashRect.height-adjust,isInvert);
|
||||
currRect.y += (dashRect.height-adjust);
|
||||
- temp = temp-= (dashRect.height-adjust);
|
||||
+ temp -= (dashRect.height-adjust);
|
||||
} else {
|
||||
adjust = (temp%dashRect.width)/2; // adjust a tad longer
|
||||
// draw in the left and right
|
||||
FillOrInvertRect(aContext, dashRect.x, borderOutside.y,dashRect.width, dashRect.height+adjust,isInvert);
|
||||
FillOrInvertRect(aContext, dashRect.x,(borderOutside.YMost()-(dashRect.height+adjust)),dashRect.width, dashRect.height+adjust,isInvert);
|
||||
currRect.y += (dashRect.height+adjust);
|
||||
- temp = temp-= (dashRect.height+adjust);
|
||||
+ temp -= (dashRect.height+adjust);
|
||||
}
|
||||
|
||||
if( temp > ywidth)
|
||||
@@ -1066,14 +1066,14 @@
|
||||
FillOrInvertRect(aContext, borderOutside.x,dashRect.y,dashRect.width-adjust,dashRect.height,isInvert);
|
||||
FillOrInvertRect(aContext, (borderOutside.XMost()-(dashRect.width-adjust)),dashRect.y,dashRect.width-adjust,dashRect.height,isInvert);
|
||||
currRect.x += (dashRect.width-adjust);
|
||||
- temp = temp-= (dashRect.width-adjust);
|
||||
+ temp -= (dashRect.width-adjust);
|
||||
} else {
|
||||
adjust = (temp%dashRect.width)/2;
|
||||
// draw in the left and right
|
||||
FillOrInvertRect(aContext, borderOutside.x,dashRect.y,dashRect.width+adjust,dashRect.height,isInvert);
|
||||
FillOrInvertRect(aContext, (borderOutside.XMost()-(dashRect.width+adjust)),dashRect.y,dashRect.width+adjust,dashRect.height,isInvert);
|
||||
currRect.x += (dashRect.width+adjust);
|
||||
- temp = temp-= (dashRect.width+adjust);
|
||||
+ temp -= (dashRect.width+adjust);
|
||||
}
|
||||
|
||||
|
||||
--- layout/xul/base/src/nsBox.cpp.orig 2006-10-26 00:00:26.000000000 +0200
|
||||
+++ layout/xul/base/src/nsBox.cpp 2006-10-26 00:01:30.000000000 +0200
|
||||
@@ -863,7 +863,7 @@
|
||||
while (box) {
|
||||
nsRect* overflowArea = box->GetOverflowAreaProperty();
|
||||
nsRect bounds = overflowArea ? *overflowArea + box->GetPosition() :
|
||||
- bounds = box->GetRect();
|
||||
+ box->GetRect();
|
||||
rect.UnionRect(rect, bounds);
|
||||
|
||||
box->GetNextBox(&box);
|
||||
--- intl/unicharutil/src/nsEntityConverter.cpp.orig 2005-04-02 20:44:00.000000000 +0200
|
||||
+++ intl/unicharutil/src/nsEntityConverter.cpp 2006-10-26 00:07:24.000000000 +0200
|
||||
@@ -236,7 +236,8 @@
|
||||
if (IS_HIGH_SURROGATE(inString[i]) &&
|
||||
i + 2 < len &&
|
||||
IS_LOW_SURROGATE(inString[i + 1])) {
|
||||
- key.AppendInt(SURROGATE_TO_UCS4(inString[i], inString[++i]), 10);
|
||||
+ key.AppendInt(SURROGATE_TO_UCS4(inString[i], inString[i + 1]), 10);
|
||||
+ ++i;
|
||||
}
|
||||
else {
|
||||
key.AppendInt(inString[i],10);
|
||||
--- content/events/src/nsEventStateManager.cpp.orig 2006-08-06 00:19:17.000000000 +0200
|
||||
+++ content/events/src/nsEventStateManager.cpp 2006-10-26 00:11:16.000000000 +0200
|
||||
@@ -4301,7 +4301,7 @@
|
||||
do_QueryInterface(GetDocumentOuterWindow(mDocument));
|
||||
if (newWindow) {
|
||||
nsIFocusController *newFocusController =
|
||||
- newFocusController = newWindow->GetRootFocusController();
|
||||
+ newWindow->GetRootFocusController();
|
||||
nsCOMPtr<nsPIDOMWindow> oldWindow =
|
||||
do_QueryInterface(GetDocumentOuterWindow(gLastFocusedDocument));
|
||||
if (oldWindow) {
|
||||
--- netwerk/cache/src/nsDiskCacheMap.h.orig 2006-02-04 23:01:22.000000000 +0100
|
||||
+++ netwerk/cache/src/nsDiskCacheMap.h 2006-10-26 00:15:09.000000000 +0200
|
||||
@@ -168,7 +168,7 @@
|
||||
|
||||
// set blockCount
|
||||
NS_ASSERTION( (blockCount>=1) && (blockCount<=4),"invalid block count");
|
||||
- blockCount = --blockCount;
|
||||
+ --blockCount;
|
||||
mDataLocation |= (blockCount << eExtraBlocksOffset) & eExtraBlocksMask;
|
||||
|
||||
mDataLocation |= eLocationInitializedMask;
|
||||
@@ -236,7 +236,7 @@
|
||||
|
||||
// set blockCount
|
||||
NS_ASSERTION( (blockCount>=1) && (blockCount<=4),"invalid block count");
|
||||
- blockCount = --blockCount;
|
||||
+ --blockCount;
|
||||
mMetaLocation |= (blockCount << eExtraBlocksOffset) & eExtraBlocksMask;
|
||||
|
||||
mMetaLocation |= eLocationInitializedMask;
|
@ -1,50 +0,0 @@
|
||||
Index: mail/base/content/mailWindowOverlay.js
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mail/base/content/mailWindowOverlay.js,v
|
||||
retrieving revision 1.95.2.55
|
||||
diff -u -p -6 -r1.95.2.55 mailWindowOverlay.js
|
||||
--- mail/base/content/mailWindowOverlay.js 12 Feb 2007 21:07:34 -0000 1.95.2.55
|
||||
+++ mail/base/content/mailWindowOverlay.js 15 Feb 2007 19:46:05 -0000
|
||||
@@ -1064,12 +1064,19 @@ function MsgNewMessage(event)
|
||||
if (event && event.shiftKey)
|
||||
ComposeMessage(msgComposeType.New, msgComposeFormat.OppositeOfDefault, loadedFolder, messageArray);
|
||||
else
|
||||
ComposeMessage(msgComposeType.New, msgComposeFormat.Default, loadedFolder, messageArray);
|
||||
}
|
||||
|
||||
+function MsgNewHtmlMessage()
|
||||
+{
|
||||
+ var loadedFolder = GetFirstSelectedMsgFolder();
|
||||
+ var messageArray = GetSelectedMessages();
|
||||
+ ComposeMessage(msgComposeType.New, msgComposeFormat.HTML, loadedFolder, messageArray);
|
||||
+}
|
||||
+
|
||||
function MsgReplyMessage(event)
|
||||
{
|
||||
var loadedFolder = GetLoadedMsgFolder();
|
||||
if (loadedFolder)
|
||||
{
|
||||
var server = loadedFolder.server;
|
||||
Index: mail/base/content/mailWindowOverlay.xul
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mail/base/content/mailWindowOverlay.xul,v
|
||||
retrieving revision 1.116.2.72
|
||||
diff -u -p -6 -r1.116.2.72 mailWindowOverlay.xul
|
||||
--- mail/base/content/mailWindowOverlay.xul 10 Feb 2007 22:56:29 -0000 1.116.2.72
|
||||
+++ mail/base/content/mailWindowOverlay.xul 15 Feb 2007 19:46:55 -0000
|
||||
@@ -1511,12 +1511,15 @@
|
||||
<menu id="messageMenu" label="&msgMenu.label;" accesskey="&msgMenu.accesskey;">
|
||||
<menupopup id="messageMenuPopup" onpopupshowing="InitMessageMenu();">
|
||||
<menuitem id="newMsgCmd" label="&newMsgCmd.label;"
|
||||
accesskey="&newMsgCmd.accesskey;"
|
||||
key="key_newMessage2"
|
||||
oncommand="MsgNewMessage(null);"/>
|
||||
+ <menuitem id="newHtmlMsgCmd" label="New HTML Message"
|
||||
+ accesskey="H"
|
||||
+ oncommand="MsgNewHtmlMessage();"/>
|
||||
<menuitem id="replyMainMenu" label="&replyMsgCmd.label;"
|
||||
accesskey="&replyMsgCmd.accesskey;"
|
||||
key="key_reply"
|
||||
command="cmd_reply"/>
|
||||
<menuitem id="replySenderMainMenu" label="&replySenderCmd.label;"
|
||||
accesskey="&replySenderCmd.accesskey;"
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f1f70948b2f30e2ab6f6811ae3884489cd7cb15ee1846c341144c559604a0d3e
|
||||
size 11051307
|
3
l10n-3.0b3.tar.bz2
Normal file
3
l10n-3.0b3.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1dcd305aea953c69c5f1765653796507e02195e90099f03acd6ec0b97f34dcdd
|
||||
size 15431608
|
@ -1,130 +0,0 @@
|
||||
Index: mailnews/mailnews.js
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mailnews/mailnews.js,v
|
||||
retrieving revision 3.249
|
||||
diff -u -r3.249 mailnews.js
|
||||
--- mailnews/mailnews.js 9 Aug 2005 00:36:31 -0000 3.249
|
||||
+++ mailnews/mailnews.js 15 Aug 2005 01:12:06 -0000
|
||||
@@ -196,6 +196,7 @@
|
||||
pref("mailnews.reply_header_locale", "");
|
||||
pref("mailnews.reply_header_authorwrote", "chrome://messenger/locale/messengercompose/composeMsgs.properties");
|
||||
pref("mailnews.reply_header_ondate", "chrome://messenger/locale/messengercompose/composeMsgs.properties");
|
||||
+pref("mailnews.clobber_list_reply", false);
|
||||
|
||||
// separator to separate between date and author
|
||||
pref("mailnews.reply_header_separator", ", ");
|
||||
--- mailnews/compose/src/nsMsgCompose.cpp.old 2007-01-10 10:03:52.000000000 +0100
|
||||
+++ mailnews/compose/src/nsMsgCompose.cpp 2007-01-10 10:09:45.000000000 +0100
|
||||
@@ -2221,6 +2221,7 @@ NS_IMETHODIMP QuotingOutputStreamListene
|
||||
nsAutoString listPost;
|
||||
nsXPIDLCString outCString;
|
||||
PRBool needToRemoveDup = PR_FALSE;
|
||||
+ PRBool clobberListReply = PR_FALSE;
|
||||
if (!mMimeConverter)
|
||||
{
|
||||
mMimeConverter = do_GetService(NS_MIME_CONVERTER_CONTRACTID, &rv);
|
||||
@@ -2229,6 +2230,70 @@ NS_IMETHODIMP QuotingOutputStreamListene
|
||||
nsXPIDLCString charset;
|
||||
compFields->GetCharacterSet(getter_Copies(charset));
|
||||
|
||||
+ nsCOMPtr<nsIPrefBranch> prefBranch (do_GetService(NS_PREFSERVICE_CONTRACTID));
|
||||
+ if (prefBranch)
|
||||
+ prefBranch->GetBoolPref("mailnews.clobber_list_reply", &clobberListReply);
|
||||
+
|
||||
+ mHeaders->ExtractHeader(HEADER_REPLY_TO, PR_FALSE, getter_Copies(outCString));
|
||||
+ if (outCString)
|
||||
+ mMimeConverter->DecodeMimeHeader(outCString, replyTo, charset);
|
||||
+
|
||||
+ mHeaders->ExtractHeader(HEADER_MAIL_REPLY_TO, PR_TRUE, getter_Copies(outCString));
|
||||
+ if (outCString)
|
||||
+ mMimeConverter->DecodeMimeHeader(outCString, mailReplyTo, charset);
|
||||
+
|
||||
+ if (clobberListReply) {
|
||||
+ /* the 'Al fix'. Try to fake up Mail-Reply-To: and
|
||||
+ * Mail-Followup-To: headers if we don't have any, and if it looks
|
||||
+ * like it came via a mailing list.
|
||||
+ *
|
||||
+ * Currently only supports List-Post header.
|
||||
+ */
|
||||
+
|
||||
+ mHeaders->ExtractHeader(HEADER_MAIL_FOLLOWUP_TO, PR_TRUE, getter_Copies(outCString));
|
||||
+ if (outCString)
|
||||
+ mMimeConverter->DecodeMimeHeader(outCString, mailFollowupTo, charset);
|
||||
+
|
||||
+ if (mailFollowupTo.IsEmpty()) {
|
||||
+ nsAutoString mailingList;
|
||||
+
|
||||
+ mHeaders->ExtractHeader(HEADER_LIST_POST, PR_TRUE, getter_Copies(outCString));
|
||||
+ if (outCString)
|
||||
+ {
|
||||
+ mMimeConverter->DecodeMimeHeader(outCString, mailingList, charset);
|
||||
+ /* s/<mailto:(.*)>/$1/; */
|
||||
+ if (StringBeginsWith(mailingList, NS_LITERAL_STRING("<mailto:")) &&
|
||||
+ StringEndsWith(mailingList, NS_LITERAL_STRING(">"))) {
|
||||
+
|
||||
+ mailingList = Substring(mailingList, 8, mailingList.Length() - 9);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ mailFollowupTo = mailingList;
|
||||
+ }
|
||||
+
|
||||
+ if (mailReplyTo.IsEmpty()) {
|
||||
+ nsAutoString from;
|
||||
+ nsAutoString xReplyTo;
|
||||
+
|
||||
+ mHeaders->ExtractHeader(HEADER_FROM, PR_FALSE, getter_Copies(outCString));
|
||||
+ if (outCString)
|
||||
+ mMimeConverter->DecodeMimeHeader(outCString, from, charset);
|
||||
+
|
||||
+ mHeaders->ExtractHeader(HEADER_X_REPLY_TO, PR_FALSE, getter_Copies(outCString));
|
||||
+ if (outCString)
|
||||
+ mMimeConverter->DecodeMimeHeader(outCString, xReplyTo, charset);
|
||||
+
|
||||
+ if (replyTo == mailFollowupTo) {
|
||||
+ if (!xReplyTo.IsEmpty())
|
||||
+ mailReplyTo = xReplyTo;
|
||||
+ else
|
||||
+ mailReplyTo = from;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+
|
||||
if (type == nsIMsgCompType::ReplyAll)
|
||||
{
|
||||
mHeaders->ExtractHeader(HEADER_TO, PR_TRUE, getter_Copies(outCString));
|
||||
@@ -2252,10 +2317,10 @@ NS_IMETHODIMP QuotingOutputStreamListene
|
||||
compFields->SetBcc(bcc);
|
||||
}
|
||||
|
||||
- mHeaders->ExtractHeader(HEADER_MAIL_FOLLOWUP_TO, PR_TRUE, getter_Copies(outCString));
|
||||
- if (outCString)
|
||||
- {
|
||||
- mMimeConverter->DecodeMimeHeader(outCString, mailFollowupTo, charset);
|
||||
+ if (!clobberListReply) { // else we've already looked this up earlier
|
||||
+ mHeaders->ExtractHeader(HEADER_MAIL_FOLLOWUP_TO, PR_TRUE, getter_Copies(outCString));
|
||||
+ if (outCString)
|
||||
+ mMimeConverter->DecodeMimeHeader(outCString, mailFollowupTo, charset);
|
||||
}
|
||||
|
||||
if (! mailFollowupTo.IsEmpty())
|
||||
@@ -2296,18 +2361,6 @@ NS_IMETHODIMP QuotingOutputStreamListene
|
||||
}
|
||||
}
|
||||
|
||||
- mHeaders->ExtractHeader(HEADER_REPLY_TO, PR_FALSE, getter_Copies(outCString));
|
||||
- if (outCString)
|
||||
- {
|
||||
- mMimeConverter->DecodeMimeHeader(outCString, replyTo, charset);
|
||||
- }
|
||||
-
|
||||
- mHeaders->ExtractHeader(HEADER_MAIL_REPLY_TO, PR_TRUE, getter_Copies(outCString));
|
||||
- if (outCString)
|
||||
- {
|
||||
- mMimeConverter->DecodeMimeHeader(outCString, mailReplyTo, charset);
|
||||
- }
|
||||
-
|
||||
mHeaders->ExtractHeader(HEADER_NEWSGROUPS, PR_FALSE, getter_Copies(outCString));
|
||||
if (outCString)
|
||||
{
|
11
locale.patch
11
locale.patch
@ -1,11 +0,0 @@
|
||||
--- modules/libpref/src/init/all.js.orig 2004-10-15 14:50:11.740865580 +0200
|
||||
+++ modules/libpref/src/init/all.js 2004-10-15 14:50:34.371625152 +0200
|
||||
@@ -653,7 +653,7 @@
|
||||
pref("intl.charset.detector", "chrome://navigator/locale/navigator.properties");
|
||||
pref("intl.charset.default", "chrome://navigator-platform/locale/navigator.properties");
|
||||
pref("intl.content.langcode", "chrome://communicator-region/locale/region.properties");
|
||||
-pref("intl.locale.matchOS", false);
|
||||
+pref("intl.locale.matchOS", true);
|
||||
// fallback charset list for Unicode conversion (converting from Unicode)
|
||||
// currently used for mail send only to handle symbol characters (e.g Euro, trademark, smartquotes)
|
||||
// for ISO-8859-1
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:08815def52275fc8b9c998b9ee0b1a56abae3092c646302a984ac4832b5c412b
|
||||
size 105913
|
@ -1,11 +0,0 @@
|
||||
--- xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips.s.m4.orig 2003-10-31 10:06:36.000000000 +0000
|
||||
+++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips.s.m4 2003-10-31 10:07:06.000000000 +0000
|
||||
@@ -36,7 +36,7 @@
|
||||
LOCALSZ=2 # gp, ra
|
||||
FRAMESZ=(((NARGSAVE+LOCALSZ)*SZREG)+ALSZ)&ALMASK
|
||||
|
||||
-define(STUB_NAME, `Stub'$1`__14nsXPTCStubBase')
|
||||
+define(STUB_NAME, ```_ZN14nsXPTCStubBase'len(Stub'$1`)Stub'$1`Ev'')
|
||||
|
||||
define(STUB_ENTRY,
|
||||
` .globl 'STUB_NAME($1)`
|
20
misc.dif
20
misc.dif
@ -1,20 +0,0 @@
|
||||
--- gfx/src/x11shared/nsFT2FontCatalog.cpp
|
||||
+++ gfx/src/x11shared/nsFT2FontCatalog.cpp
|
||||
@@ -49,6 +49,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
+#include <time.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/time.h>
|
||||
#include <dirent.h>
|
||||
@@ -92,9 +93,6 @@
|
||||
// Called to get the TrueType font summary from the disk font catalog.
|
||||
//
|
||||
|
||||
-// Solaris is missing a prototype for ctime
|
||||
-extern "C" {char *ctime(const time_t *timep);}
|
||||
-
|
||||
#include <ft2build.h>
|
||||
#include FT_GLYPH_H
|
||||
#include FT_FREETYPE_H
|
70
mozilla-app-launcher.patch
Normal file
70
mozilla-app-launcher.patch
Normal file
@ -0,0 +1,70 @@
|
||||
From: mozilla-central
|
||||
Subject: make it possible to define MOZILLA_APP_LAUNCHER to control which
|
||||
app should be used for session management
|
||||
References:
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=453689
|
||||
|
||||
|
||||
--- mozilla-1.9.1/toolkit/xre/nsNativeAppSupportUnix.cpp 2009-04-27 09:23:29.000000000 +0200
|
||||
+++ mozilla-central/toolkit/xre/nsNativeAppSupportUnix.cpp 2009-07-07 12:55:10.000000000 +0200
|
||||
@@ -155,31 +155,37 @@ gboolean save_yourself_cb(GnomeClient *c
|
||||
interact_cb, nsnull);
|
||||
return TRUE;
|
||||
}
|
||||
-
|
||||
- // Tell GNOME the command for restarting us so that we can be part of XSMP session restore
|
||||
- NS_ASSERTION(gDirServiceProvider, "gDirServiceProvider is NULL! This shouldn't happen!");
|
||||
- nsCOMPtr<nsIFile> executablePath;
|
||||
- nsresult rv;
|
||||
-
|
||||
- PRBool dummy;
|
||||
- rv = gDirServiceProvider->GetFile(XRE_EXECUTABLE_FILE, &dummy, getter_AddRefs(executablePath));
|
||||
-
|
||||
- if (NS_SUCCEEDED(rv)) {
|
||||
- nsCAutoString path;
|
||||
- char* argv[1];
|
||||
-
|
||||
- // Strip off the -bin suffix to get the shell script we should run; this is what Breakpad does
|
||||
- nsCAutoString leafName;
|
||||
- rv = executablePath->GetNativeLeafName(leafName);
|
||||
- if (NS_SUCCEEDED(rv) && StringEndsWith(leafName, NS_LITERAL_CSTRING("-bin"))) {
|
||||
- leafName.SetLength(leafName.Length() - strlen("-bin"));
|
||||
- executablePath->SetNativeLeafName(leafName);
|
||||
+
|
||||
+ // Is there a request to suppress default binary launcher?
|
||||
+ char* argv1 = getenv("MOZ_APP_LAUNCHER");
|
||||
+
|
||||
+ if(!argv1) {
|
||||
+ // Tell GNOME the command for restarting us so that we can be part of XSMP session restore
|
||||
+ NS_ASSERTION(gDirServiceProvider, "gDirServiceProvider is NULL! This shouldn't happen!");
|
||||
+ nsCOMPtr<nsIFile> executablePath;
|
||||
+ nsresult rv;
|
||||
+
|
||||
+ PRBool dummy;
|
||||
+ rv = gDirServiceProvider->GetFile(XRE_EXECUTABLE_FILE, &dummy, getter_AddRefs(executablePath));
|
||||
+
|
||||
+ if (NS_SUCCEEDED(rv)) {
|
||||
+ nsCAutoString path;
|
||||
+
|
||||
+ // Strip off the -bin suffix to get the shell script we should run; this is what Breakpad does
|
||||
+ nsCAutoString leafName;
|
||||
+ rv = executablePath->GetNativeLeafName(leafName);
|
||||
+ if (NS_SUCCEEDED(rv) && StringEndsWith(leafName, NS_LITERAL_CSTRING("-bin"))) {
|
||||
+ leafName.SetLength(leafName.Length() - strlen("-bin"));
|
||||
+ executablePath->SetNativeLeafName(leafName);
|
||||
+ }
|
||||
+
|
||||
+ executablePath->GetNativePath(path);
|
||||
+ argv1 = (char*)(path.get());
|
||||
}
|
||||
+ }
|
||||
|
||||
- executablePath->GetNativePath(path);
|
||||
- argv[0] = (char*)(path.get());
|
||||
-
|
||||
- gnome_client_set_restart_command(client, 1, argv);
|
||||
+ if(argv1) {
|
||||
+ gnome_client_set_restart_command(client, 1, &argv1);
|
||||
}
|
||||
|
||||
return TRUE;
|
@ -1,109 +0,0 @@
|
||||
References:
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=403675
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=386362
|
||||
|
||||
Index: modules/libpr0n/encoders/png/nsPNGEncoder.h
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/modules/libpr0n/encoders/png/nsPNGEncoder.h,v
|
||||
retrieving revision 1.1.18.1
|
||||
diff -u -p -6 -r1.1.18.1 nsPNGEncoder.h
|
||||
--- modules/libpr0n/encoders/png/nsPNGEncoder.h 20 May 2006 17:20:49 -0000 1.1.18.1
|
||||
+++ modules/libpr0n/encoders/png/nsPNGEncoder.h 13 Nov 2007 22:07:36 -0000
|
||||
@@ -35,14 +35,16 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#include "imgIEncoder.h"
|
||||
#ifdef MOZILLA_1_8_BRANCH
|
||||
#define imgIEncoder imgIEncoder_MOZILLA_1_8_BRANCH
|
||||
+#ifndef NS_DECL_IMGIENCODER
|
||||
#define NS_DECL_IMGIENCODER NS_DECL_IMGIENCODER_MOZILLA_1_8_BRANCH
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
#include <png.h>
|
||||
|
||||
#define NS_PNGENCODER_CID \
|
||||
{ /* 38d1592e-b81e-432b-86f8-471878bbfe07 */ \
|
||||
0x38d1592e, \
|
||||
@@ -60,12 +62,20 @@ public:
|
||||
NS_DECL_ISUPPORTS
|
||||
NS_DECL_IMGIENCODER
|
||||
NS_DECL_NSIINPUTSTREAM
|
||||
|
||||
nsPNGEncoder();
|
||||
|
||||
+ NS_IMETHOD InitFromData(const PRUint8* aData,
|
||||
+ PRUint32 aLength, // (unused, req'd by JS)
|
||||
+ PRUint32 aWidth,
|
||||
+ PRUint32 aHeight,
|
||||
+ PRUint32 aStride,
|
||||
+ PRUint32 aInputFormat,
|
||||
+ const nsAString& aOutputOptions);
|
||||
+
|
||||
private:
|
||||
~nsPNGEncoder();
|
||||
|
||||
protected:
|
||||
void ConvertHostARGBRow(const PRUint8* aSrc, PRUint8* aDest,
|
||||
PRUint32 aPixelWidth, PRBool aUseTransparency);
|
||||
Index: modules/libpr0n/encoders/jpeg/nsJPEGEncoder.h
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/modules/libpr0n/encoders/jpeg/nsJPEGEncoder.h,v
|
||||
retrieving revision 1.1.14.1
|
||||
diff -u -p -6 -r1.1.14.1 nsJPEGEncoder.h
|
||||
--- modules/libpr0n/encoders/jpeg/nsJPEGEncoder.h 20 May 2006 17:20:48 -0000 1.1.14.1
|
||||
+++ modules/libpr0n/encoders/jpeg/nsJPEGEncoder.h 13 Nov 2007 22:07:57 -0000
|
||||
@@ -36,14 +36,16 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#include "imgIEncoder.h"
|
||||
#ifdef MOZILLA_1_8_BRANCH
|
||||
#define imgIEncoder imgIEncoder_MOZILLA_1_8_BRANCH
|
||||
+#ifndef NS_DECL_IMGIENCODER
|
||||
#define NS_DECL_IMGIENCODER NS_DECL_IMGIENCODER_MOZILLA_1_8_BRANCH
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
// needed for JPEG library
|
||||
#include <stdio.h>
|
||||
|
||||
extern "C" {
|
||||
#include "jpeglib.h"
|
||||
@@ -66,12 +68,20 @@ public:
|
||||
NS_DECL_ISUPPORTS
|
||||
NS_DECL_IMGIENCODER
|
||||
NS_DECL_NSIINPUTSTREAM
|
||||
|
||||
nsJPEGEncoder();
|
||||
|
||||
+ NS_IMETHOD InitFromData(const PRUint8* aData,
|
||||
+ PRUint32 aLength, // (unused, req'd by JS)
|
||||
+ PRUint32 aWidth,
|
||||
+ PRUint32 aHeight,
|
||||
+ PRUint32 aStride,
|
||||
+ PRUint32 aInputFormat,
|
||||
+ const nsAString& aOutputOptions);
|
||||
+
|
||||
private:
|
||||
~nsJPEGEncoder();
|
||||
|
||||
protected:
|
||||
|
||||
void ConvertHostARGBRow(const PRUint8* aSrc, PRUint8* aDest,
|
||||
Index: modules/libpr0n/public/imgIEncoder.idl
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/modules/libpr0n/public/imgIEncoder.idl,v
|
||||
retrieving revision 1.1.10.3
|
||||
diff -u -p -r1.1.10.3 imgIEncoder.idl
|
||||
--- modules/libpr0n/public/imgIEncoder.idl 20 May 2006 17:20:49 -0000 1.1.10.3
|
||||
+++ modules/libpr0n/public/imgIEncoder.idl 14 Nov 2007 10:41:40 -0000
|
||||
@@ -96,6 +96,6 @@ interface nsIFile;
|
||||
[scriptable, uuid(CCC5B3AD-3E67-4e3d-97E1-B06B2E96FEF8)]
|
||||
interface imgIEncoder : nsISupports
|
||||
{
|
||||
- void encodeClipboardImage(in nsIClipboardImage aClipboardImage, out nsIFile aImageFile);
|
||||
+ /* void encodeClipboardImage(in nsIClipboardImage aClipboardImage, out nsIFile aImageFile); */
|
||||
};
|
||||
|
@ -1,22 +0,0 @@
|
||||
Index: ./toolkit/xre/nsAppRunner.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/toolkit/xre/nsAppRunner.cpp,v
|
||||
retrieving revision 1.215
|
||||
diff -u -p -6 -r1.215 nsAppRunner.cpp
|
||||
--- ./toolkit/xre/nsAppRunner.cpp 17 Nov 2008 14:36:43 -0000 1.215
|
||||
+++ ./toolkit/xre/nsAppRunner.cpp 27 Apr 2009 18:24:19 -0000
|
||||
@@ -1456,13 +1456,13 @@ XRE_GetBinaryPath(const char* argv0, nsI
|
||||
|
||||
rv = NS_NewNativeLocalFile(nsDependentCString(info.name), PR_TRUE,
|
||||
getter_AddRefs(lf));
|
||||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
|
||||
-#elif
|
||||
+#else
|
||||
#error Oops, you need platform-specific code here
|
||||
#endif
|
||||
|
||||
NS_ADDREF(*aResult = lf);
|
||||
return NS_OK;
|
||||
}
|
47
mozilla-jemalloc_deepbind.patch
Normal file
47
mozilla-jemalloc_deepbind.patch
Normal file
@ -0,0 +1,47 @@
|
||||
From: Karl Tomlinson <mozbugz@karlt.net>
|
||||
Subject: jemalloc integration cause crashes when libraries or plugins dlopen with RTLD_DEEPBIND
|
||||
References:
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=493541
|
||||
https://bugzilla.novell.com/show_bug.cgi?id=503151
|
||||
|
||||
diff --git a/memory/jemalloc/jemalloc.c b/memory/jemalloc/jemalloc.c
|
||||
--- a/memory/jemalloc/jemalloc.c
|
||||
+++ b/memory/jemalloc/jemalloc.c
|
||||
@@ -7225,8 +7225,37 @@ jemalloc_darwin_init(void)
|
||||
* default zone.
|
||||
*/
|
||||
assert(malloc_num_zones > 1);
|
||||
memmove(&malloc_zones[1], &malloc_zones[0],
|
||||
sizeof(malloc_zone_t *) * (malloc_num_zones - 1));
|
||||
malloc_zones[0] = &zone;
|
||||
}
|
||||
#endif
|
||||
+
|
||||
+#ifdef HAVE_LIBDL
|
||||
+# include <dlfcn.h>
|
||||
+/*
|
||||
+ * glibc provides the RTLD_DEEPBIND flag for dlopen which can make it possible
|
||||
+ * to inconsistently reference libc's malloc(3)-compatible functions
|
||||
+ * (bug 493541).
|
||||
+ *
|
||||
+ * XXX On systems that support RTLD_GROUP or DF_1_GROUP, do their
|
||||
+ * implementations permit similar inconsistencies? Should STV_SINGLETON
|
||||
+ * visibility be used for interposition where available?
|
||||
+ */
|
||||
+# ifdef RTLD_DEEPBIND
|
||||
+# if defined(__GLIBC__) && !defined(__UCLIBC__)
|
||||
+
|
||||
+/*
|
||||
+ * These interpose hooks in glibc. They are actually passed an extra
|
||||
+ * argument for the caller return address, which will be ignored.
|
||||
+ */
|
||||
+void (*__free_hook)(void *ptr) = free;
|
||||
+void *(*__malloc_hook)(size_t size) = malloc;
|
||||
+void *(*__realloc_hook)(void *ptr, size_t size) = realloc;
|
||||
+void *(*__memalign_hook)(size_t alignment, size_t size) = memalign;
|
||||
+
|
||||
+# elif !defined(malloc)
|
||||
+# error "Interposing malloc is unsafe on this system without libc malloc hooks."
|
||||
+# endif
|
||||
+# endif
|
||||
+#endif
|
@ -81,19 +81,6 @@ diff -up mozilla/dbm/include/mcom_db.h.old mozilla/dbm/include/mcom_db.h
|
||||
#endif
|
||||
|
||||
#include <fcntl.h>
|
||||
diff -up mozilla/js/src/jsfile.c.old mozilla/js/src/jsfile.c
|
||||
--- mozilla/js/src/jsfile.c.old 2006-07-26 20:55:08.000000000 +0200
|
||||
+++ mozilla/js/src/jsfile.c 2007-09-25 18:22:52.000000000 +0200
|
||||
@@ -105,7 +105,8 @@
|
||||
#define utfstring "binary"
|
||||
#define unicodestring "unicode"
|
||||
|
||||
-#define MAX_PATH_LENGTH 1024
|
||||
+#include <limits.h>
|
||||
+#define MAX_PATH_LENGTH PATH_MAX
|
||||
#define MODE_SIZE 256
|
||||
#define NUMBER_SIZE 32
|
||||
#define MAX_LINE_LENGTH 256
|
||||
diff -up mozilla/xpcom/typelib/xpidl/xpidl_java.c.old mozilla/xpcom/typelib/xpidl/xpidl_java.c
|
||||
--- mozilla/xpcom/typelib/xpidl/xpidl_java.c.old 2007-09-25 18:38:52.000000000 +0200
|
||||
+++ mozilla/xpcom/typelib/xpidl/xpidl_java.c 2007-09-25 18:39:17.000000000 +0200
|
||||
|
@ -1,190 +1,14 @@
|
||||
? .mozconfig.mk
|
||||
? .mozconfig.out
|
||||
Index: configure
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/configure,v
|
||||
retrieving revision 1.1492.2.130
|
||||
diff -u -p -6 -r1.1492.2.130 configure
|
||||
--- configure 19 Oct 2008 16:21:23 -0000 1.1492.2.130
|
||||
+++ configure 21 Nov 2008 09:52:32 -0000
|
||||
@@ -19337,12 +19337,115 @@ echo "configure:19307: checking CAIRO_LI
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+
|
||||
+
|
||||
+ succeeded=no
|
||||
+
|
||||
+ if test -z "$PKG_CONFIG"; then
|
||||
+ # Extract the first word of "pkg-config", so it can be a program name with args.
|
||||
+set dummy pkg-config; ac_word=$2
|
||||
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
+echo "configure:19352: checking for $ac_word" >&5
|
||||
+if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then
|
||||
+ echo $ac_n "(cached) $ac_c" 1>&6
|
||||
+else
|
||||
+ case "$PKG_CONFIG" in
|
||||
+ /*)
|
||||
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
|
||||
+ ;;
|
||||
+ ?:/*)
|
||||
+ ac_cv_path_PKG_CONFIG="$PKG_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_PKG_CONFIG="$ac_dir/$ac_word"
|
||||
+ break
|
||||
+ fi
|
||||
+ done
|
||||
+ IFS="$ac_save_ifs"
|
||||
+ test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
|
||||
+ ;;
|
||||
+esac
|
||||
+fi
|
||||
+PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
|
||||
+if test -n "$PKG_CONFIG"; then
|
||||
+ echo "$ac_t""$PKG_CONFIG" 1>&6
|
||||
+else
|
||||
+ echo "$ac_t""no" 1>&6
|
||||
+fi
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+ if test "$PKG_CONFIG" = "no" ; then
|
||||
+ echo "*** The pkg-config script could not be found. Make sure it is"
|
||||
+ echo "*** in your path, or set the PKG_CONFIG environment variable"
|
||||
+ echo "*** to the full path to pkg-config."
|
||||
+ echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
|
||||
+ else
|
||||
+ PKG_CONFIG_MIN_VERSION=0.9.0
|
||||
+ if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
|
||||
+ echo $ac_n "checking for nss-shared-helper""... $ac_c" 1>&6
|
||||
+echo "configure:19396: checking for nss-shared-helper" >&5
|
||||
+
|
||||
+ if $PKG_CONFIG --exists "nss-shared-helper" ; then
|
||||
+ echo "$ac_t""yes" 1>&6
|
||||
+ succeeded=yes
|
||||
+
|
||||
+ echo $ac_n "checking NSSHELPER_CFLAGS""... $ac_c" 1>&6
|
||||
+echo "configure:19403: checking NSSHELPER_CFLAGS" >&5
|
||||
+ NSSHELPER_CFLAGS=`$PKG_CONFIG --cflags "nss-shared-helper"`
|
||||
+ echo "$ac_t""$NSSHELPER_CFLAGS" 1>&6
|
||||
+
|
||||
+ echo $ac_n "checking NSSHELPER_LIBS""... $ac_c" 1>&6
|
||||
+echo "configure:19408: checking NSSHELPER_LIBS" >&5
|
||||
+ ## don't use --libs since that can do evil things like add
|
||||
+ ## -Wl,--export-dynamic
|
||||
+ NSSHELPER_LIBS="`$PKG_CONFIG --libs-only-L \"nss-shared-helper\"` `$PKG_CONFIG --libs-only-l \"nss-shared-helper\"`"
|
||||
+ echo "$ac_t""$NSSHELPER_LIBS" 1>&6
|
||||
+ else
|
||||
+ NSSHELPER_CFLAGS=""
|
||||
+ NSSHELPER_LIBS=""
|
||||
+ ## If we have a custom action on failure, don't print errors, but
|
||||
+ ## do set a variable so people can do so.
|
||||
+ NSSHELPER_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "nss-shared-helper"`
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+
|
||||
+ else
|
||||
+ echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
|
||||
+ echo "*** See http://www.freedesktop.org/software/pkgconfig"
|
||||
+ fi
|
||||
+ fi
|
||||
+
|
||||
+ if test $succeeded = yes; then
|
||||
+ MOZ_ENABLE_NSSHELPER=1
|
||||
+ else
|
||||
+ MOZ_ENABLE_NSSHELPER=
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+if test "$MOZ_ENABLE_NSSHELPER"; then
|
||||
+ cat >> confdefs.h <<\EOF
|
||||
+#define MOZ_ENABLE_NSSHELPER 1
|
||||
+EOF
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
# Check whether --enable-xul or --disable-xul was given.
|
||||
if test "${enable_xul+set}" = set; then
|
||||
enableval="$enable_xul"
|
||||
if test "$enableval" = "no"; then
|
||||
MOZ_XUL=
|
||||
elif test "$enableval" = "yes"; then
|
||||
@@ -20583,12 +20686,15 @@ s%@ATSUI_FONT_FEATURE@%$ATSUI_FONT_FEATU
|
||||
s%@PNG_FUNCTIONS_FEATURE@%$PNG_FUNCTIONS_FEATURE%g
|
||||
s%@CAIRO_CFLAGS@%$CAIRO_CFLAGS%g
|
||||
s%@CAIRO_LIBS@%$CAIRO_LIBS%g
|
||||
s%@MOZ_TREE_CAIRO@%$MOZ_TREE_CAIRO%g
|
||||
s%@MOZ_CAIRO_CFLAGS@%$MOZ_CAIRO_CFLAGS%g
|
||||
s%@MOZ_CAIRO_LIBS@%$MOZ_CAIRO_LIBS%g
|
||||
+s%@NSSHELPER_CFLAGS@%$NSSHELPER_CFLAGS%g
|
||||
+s%@NSSHELPER_LIBS@%$NSSHELPER_LIBS%g
|
||||
+s%@MOZ_ENABLE_NSSHELPER@%$MOZ_ENABLE_NSSHELPER%g
|
||||
s%@MOZ_XUL@%$MOZ_XUL%g
|
||||
s%@MOZ_PYTHON@%$MOZ_PYTHON%g
|
||||
s%@MOZ_PYTHON_PREFIX@%$MOZ_PYTHON_PREFIX%g
|
||||
s%@MOZ_PYTHON_INCLUDES@%$MOZ_PYTHON_INCLUDES%g
|
||||
s%@MOZ_PYTHON_LIBS@%$MOZ_PYTHON_LIBS%g
|
||||
s%@MOZ_PYTHON_VER@%$MOZ_PYTHON_VER%g
|
||||
Index: configure.in
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/configure.in,v
|
||||
retrieving revision 1.1503.2.112
|
||||
diff -u -p -6 -r1.1503.2.112 configure.in
|
||||
--- configure.in 19 Oct 2008 16:14:06 -0000 1.1503.2.112
|
||||
+++ configure.in 21 Nov 2008 09:52:34 -0000
|
||||
@@ -6808,12 +6808,27 @@ fi
|
||||
|
||||
AC_SUBST(MOZ_TREE_CAIRO)
|
||||
AC_SUBST(MOZ_CAIRO_CFLAGS)
|
||||
AC_SUBST(MOZ_CAIRO_LIBS)
|
||||
|
||||
dnl ========================================================
|
||||
+dnl Check for nss-shared-helper
|
||||
+dnl ========================================================
|
||||
+
|
||||
+PKG_CHECK_MODULES(NSSHELPER, nss-shared-helper,
|
||||
+ [MOZ_ENABLE_NSSHELPER=1],
|
||||
+ [MOZ_ENABLE_NSSHELPER=])
|
||||
+
|
||||
+if test "$MOZ_ENABLE_NSSHELPER"; then
|
||||
+ AC_DEFINE(MOZ_ENABLE_NSSHELPER)
|
||||
+fi
|
||||
+AC_SUBST(MOZ_ENABLE_NSSHELPER)
|
||||
+AC_SUBST(NSSHELPER_CFLAGS)
|
||||
+AC_SUBST(NSSHELPER_LIBS)
|
||||
+
|
||||
+dnl ========================================================
|
||||
dnl disable xul
|
||||
dnl ========================================================
|
||||
MOZ_ARG_DISABLE_BOOL(xul,
|
||||
[ --disable-xul Disable XUL],
|
||||
MOZ_XUL= )
|
||||
if test "$MOZ_XUL"; then
|
||||
Index: config/autoconf.mk.in
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/config/autoconf.mk.in,v
|
||||
retrieving revision 3.363.2.20
|
||||
diff -u -p -6 -r3.363.2.20 autoconf.mk.in
|
||||
--- config/autoconf.mk.in 14 Sep 2006 18:07:03 -0000 3.363.2.20
|
||||
+++ config/autoconf.mk.in 21 Nov 2008 09:52:35 -0000
|
||||
@@ -492,12 +492,16 @@ GLIB_CFLAGS = @GLIB_CFLAGS@
|
||||
GLIB_LIBS = @GLIB_LIBS@
|
||||
GLIB_GMODULE_LIBS = @GLIB_GMODULE_LIBS@
|
||||
LIBIDL_CFLAGS = @LIBIDL_CFLAGS@
|
||||
From: Hans Petter Jansson <hpj@copyleft.no>
|
||||
Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
Subject: use libnsssharedhelper if available at compile time
|
||||
(can be disabled by exporting MOZ_XRE_NO_NSSHELPER=1)
|
||||
References:
|
||||
|
||||
|
||||
diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in
|
||||
--- a/config/autoconf.mk.in
|
||||
+++ b/config/autoconf.mk.in
|
||||
@@ -535,6 +535,10 @@ LIBIDL_LIBS = @LIBIDL_LIBS@
|
||||
LIBIDL_LIBS = @LIBIDL_LIBS@
|
||||
STATIC_LIBIDL = @STATIC_LIBIDL@
|
||||
|
||||
@ -195,44 +19,35 @@ diff -u -p -6 -r3.363.2.20 autoconf.mk.in
|
||||
MOZ_NATIVE_MAKEDEPEND = @SYSTEM_MAKEDEPEND@
|
||||
|
||||
# Used for LD_LIBRARY_PATH
|
||||
LIBS_PATH = @LIBS_PATH@
|
||||
diff --git a/configure.in b/configure.in
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -7613,6 +7613,21 @@ dnl ====================================
|
||||
|
||||
MOZ_AUTO_DEPS = @MOZ_AUTO_DEPS@
|
||||
Index: mail/app/Makefile.in
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mail/app/Makefile.in,v
|
||||
retrieving revision 1.46.2.10
|
||||
diff -u -p -6 -r1.46.2.10 Makefile.in
|
||||
--- mail/app/Makefile.in 22 Oct 2008 21:04:53 -0000 1.46.2.10
|
||||
+++ mail/app/Makefile.in 21 Nov 2008 09:52:45 -0000
|
||||
@@ -100,12 +100,16 @@ endif
|
||||
endif
|
||||
|
||||
ifdef MOZ_JPROF
|
||||
LIBS += -ljprof
|
||||
endif
|
||||
|
||||
+ifdef MOZ_ENABLE_NSSHELPER
|
||||
+LIBS += $(NSSHELPER_LIBS)
|
||||
+endif
|
||||
QCMS_LIBS='$(DEPTH)/gfx/qcms/$(LIB_PREFIX)mozqcms.$(LIB_SUFFIX)'
|
||||
AC_SUBST(QCMS_LIBS)
|
||||
+
|
||||
ifndef MOZ_WINCONSOLE
|
||||
ifdef MOZ_DEBUG
|
||||
MOZ_WINCONSOLE = 1
|
||||
else
|
||||
MOZ_WINCONSOLE = 0
|
||||
endif
|
||||
Index: security/manager/ssl/src/Makefile.in
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/security/manager/ssl/src/Makefile.in,v
|
||||
retrieving revision 1.67.2.5
|
||||
diff -u -p -6 -r1.67.2.5 Makefile.in
|
||||
--- security/manager/ssl/src/Makefile.in 4 Jun 2008 20:42:03 -0000 1.67.2.5
|
||||
+++ security/manager/ssl/src/Makefile.in 21 Nov 2008 09:52:50 -0000
|
||||
@@ -128,17 +128,18 @@ REQUIRES = nspr \
|
||||
EXTRA_DEPS = $(NSS_DEP_LIBS)
|
||||
+dnl ========================================================
|
||||
+dnl Check for nss-shared-helper
|
||||
+dnl ========================================================
|
||||
+
|
||||
+ PKG_CHECK_MODULES(NSSHELPER, nss-shared-helper,
|
||||
+ [MOZ_ENABLE_NSSHELPER=1],
|
||||
+ [MOZ_ENABLE_NSSHELPER=])
|
||||
+
|
||||
+if test "$MOZ_ENABLE_NSSHELPER"; then
|
||||
+ AC_DEFINE(MOZ_ENABLE_NSSHELPER)
|
||||
+fi
|
||||
+AC_SUBST(MOZ_ENABLE_NSSHELPER)
|
||||
+AC_SUBST(NSSHELPER_CFLAGS)
|
||||
+AC_SUBST(NSSHELPER_LIBS)
|
||||
|
||||
DEFINES += -DNSS_ENABLE_ECC
|
||||
dnl ========================================================
|
||||
dnl disable xul
|
||||
diff --git a/security/manager/ssl/src/Makefile.in b/security/manager/ssl/src/Makefile.in
|
||||
--- a/security/manager/ssl/src/Makefile.in
|
||||
+++ b/security/manager/ssl/src/Makefile.in
|
||||
@@ -137,12 +137,13 @@ DEFINES += -DNSS_ENABLE_ECC
|
||||
|
||||
# Use local includes because they are inserted before INCLUDES
|
||||
# so that Mozilla's nss.h is used, not glibc's
|
||||
@ -247,39 +62,24 @@ diff -u -p -6 -r1.67.2.5 Makefile.in
|
||||
$(NSS_LIBS) \
|
||||
$(NULL)
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
Index: security/manager/ssl/src/nsNSSComponent.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/security/manager/ssl/src/nsNSSComponent.cpp,v
|
||||
retrieving revision 1.126.2.9
|
||||
diff -u -p -6 -r1.126.2.9 nsNSSComponent.cpp
|
||||
--- security/manager/ssl/src/nsNSSComponent.cpp 30 Jun 2008 22:54:11 -0000 1.126.2.9
|
||||
+++ security/manager/ssl/src/nsNSSComponent.cpp 21 Nov 2008 09:52:51 -0000
|
||||
@@ -41,12 +41,19 @@
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
diff --git a/security/manager/ssl/src/nsNSSComponent.cpp b/security/manager/ssl/src/nsNSSComponent.cpp
|
||||
--- a/security/manager/ssl/src/nsNSSComponent.cpp
|
||||
+++ b/security/manager/ssl/src/nsNSSComponent.cpp
|
||||
@@ -43,6 +43,13 @@
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
+
|
||||
+#ifdef MOZ_ENABLE_NSSHELPER
|
||||
+#pragma GCC visibility push(default)
|
||||
+#include <nss-shared-helper.h>
|
||||
+#pragma GCC visibility pop
|
||||
+#include "prenv.h"
|
||||
+#endif
|
||||
+
|
||||
|
||||
#include "nsNSSComponent.h"
|
||||
#include "nsNSSCallbacks.h"
|
||||
#include "nsNSSIOLayer.h"
|
||||
#include "nsSSLThread.h"
|
||||
#include "nsCertVerificationThread.h"
|
||||
#include "nsNSSEvent.h"
|
||||
@@ -1422,13 +1429,27 @@ nsNSSComponent::InitializeNSS(PRBool sho
|
||||
// If we could assume i18n will not change between profiles, one call per application
|
||||
// run were sufficient. As I can't predict what happens in the future, let's repeat
|
||||
// this call for every re-init of NSS.
|
||||
@@ -1602,7 +1609,21 @@ nsNSSComponent::InitializeNSS(PRBool sho
|
||||
|
||||
ConfigureInternalPKCS11Token();
|
||||
|
||||
@ -289,7 +89,7 @@ diff -u -p -6 -r1.126.2.9 nsNSSComponent.cpp
|
||||
+ if (PR_GetEnv("MOZ_TB_NO_NSSHELPER")) {
|
||||
+ init_rv = ::NSS_InitReadWrite(profileStr.get());
|
||||
+ } else {
|
||||
+ init_rv = ::nsshelp_open_db("thunderbird", profileStr.get(), 0);
|
||||
+ init_rv = ::nsshelp_open_db ("Thunderbird", profileStr.get(), 0);
|
||||
+
|
||||
+ if (init_rv != SECSuccess) {
|
||||
+ PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, ("can not init NSS using nsshelp_open_db in %s\n", profileStr.get()));
|
||||
@ -302,6 +102,15 @@ diff -u -p -6 -r1.126.2.9 nsNSSComponent.cpp
|
||||
|
||||
if (init_rv != SECSuccess) {
|
||||
PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, ("can not init NSS r/w in %s\n", profileStr.get()));
|
||||
diff --git a/toolkit/library/Makefile.in b/toolkit/library/Makefile.in
|
||||
--- a/toolkit/library/Makefile.in
|
||||
+++ b/toolkit/library/Makefile.in
|
||||
@@ -194,7 +194,7 @@ endif
|
||||
|
||||
if (supress_warning_preference) {
|
||||
which_nss_problem = problem_none;
|
||||
DEFINES += -DIMPL_XREAPI
|
||||
|
||||
-EXTRA_DSO_LDOPTS += $(NSPR_LIBS)
|
||||
+EXTRA_DSO_LDOPTS += $(NSPR_LIBS) $(NSSHELPER_LIBS)
|
||||
|
||||
ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa)
|
||||
CXXFLAGS += $(TK_CFLAGS)
|
||||
|
@ -1,304 +0,0 @@
|
||||
Index: config/autoconf.mk.in
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/config/autoconf.mk.in,v
|
||||
retrieving revision 3.363.2.20
|
||||
diff -u -p -6 -r3.363.2.20 autoconf.mk.in
|
||||
--- config/autoconf.mk.in 14 Sep 2006 18:07:03 -0000 3.363.2.20
|
||||
+++ config/autoconf.mk.in 29 Dec 2008 13:52:18 -0000
|
||||
@@ -187,12 +187,16 @@ MOZ_XUL = @MOZ_XUL@
|
||||
|
||||
NECKO_PROTOCOLS = @NECKO_PROTOCOLS@
|
||||
NECKO_DISK_CACHE = @NECKO_DISK_CACHE@
|
||||
NECKO_SMALL_BUFFERS = @NECKO_SMALL_BUFFERS@
|
||||
NECKO_COOKIES = @NECKO_COOKIES@
|
||||
|
||||
+MOZ_NATIVE_MYSPELL = @SYSTEM_MYSPELL@
|
||||
+MOZ_MYSPELL_LIBS = @MOZ_MYSPELL_LIBS@
|
||||
+MOZ_MYSPELL_CFLAGS = @MOZ_MYSPELL_CFLAGS@
|
||||
+
|
||||
MOZ_NATIVE_ZLIB = @SYSTEM_ZLIB@
|
||||
MOZ_NATIVE_JPEG = @SYSTEM_JPEG@
|
||||
MOZ_NATIVE_PNG = @SYSTEM_PNG@
|
||||
MOZ_TREE_CAIRO = @MOZ_TREE_CAIRO@
|
||||
|
||||
MOZ_UPDATE_XTERM = @MOZ_UPDATE_XTERM@
|
||||
Index: extensions/spellcheck/myspell/src/Makefile.in
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/extensions/spellcheck/myspell/src/Attic/Makefile.in,v
|
||||
retrieving revision 1.11.4.1
|
||||
diff -u -p -6 -r1.11.4.1 Makefile.in
|
||||
--- extensions/spellcheck/myspell/src/Makefile.in 29 Jun 2006 21:23:45 -0000 1.11.4.1
|
||||
+++ extensions/spellcheck/myspell/src/Makefile.in 29 Dec 2008 13:52:22 -0000
|
||||
@@ -57,28 +57,36 @@ REQUIRES = xpcom \
|
||||
uconv \
|
||||
unicharutil \
|
||||
spellchecker \
|
||||
xulapp \
|
||||
$(NULL)
|
||||
|
||||
-CPPSRCS = affentry.cpp \
|
||||
- affixmgr.cpp \
|
||||
- hashmgr.cpp \
|
||||
- suggestmgr.cpp \
|
||||
- csutil.cpp \
|
||||
- myspell.cpp \
|
||||
- mozMySpell.cpp \
|
||||
- mozMySpellFactory.cpp \
|
||||
+CPPSRCS = mozMySpell.cpp \
|
||||
+ mozMySpellFactory.cpp \
|
||||
$(NULL)
|
||||
+ifndef MOZ_NATIVE_MYSPELL
|
||||
+CPPSRCS += affentry.cpp \
|
||||
+ affixmgr.cpp \
|
||||
+ hashmgr.cpp \
|
||||
+ suggestmgr.cpp \
|
||||
+ csutil.cpp \
|
||||
+ myspell.cpp \
|
||||
+ $(NULL)
|
||||
+endif
|
||||
|
||||
ifdef MOZ_XUL_APP
|
||||
CPPSRCS += mozMySpellDirProvider.cpp
|
||||
endif
|
||||
|
||||
EXTRA_DSO_LDOPTS = \
|
||||
$(LIBS_DIR) \
|
||||
$(XPCOM_LIBS) \
|
||||
$(NSPR_LIBS) \
|
||||
$(MOZ_UNICHARUTIL_LIBS) \
|
||||
+ $(MOZ_MYSPELL_LIBS) \
|
||||
$(NULL)
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
+
|
||||
+ifdef MOZ_NATIVE_MYSPELL
|
||||
+CXXFLAGS += $(MOZ_MYSPELL_CFLAGS)
|
||||
+endif
|
||||
Index: extensions/spellcheck/myspell/src/mozMySpell.h
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/extensions/spellcheck/myspell/src/Attic/mozMySpell.h,v
|
||||
retrieving revision 1.3.12.3
|
||||
diff -u -p -6 -r1.3.12.3 mozMySpell.h
|
||||
--- extensions/spellcheck/myspell/src/mozMySpell.h 29 Jun 2006 21:46:59 -0000 1.3.12.3
|
||||
+++ extensions/spellcheck/myspell/src/mozMySpell.h 29 Dec 2008 13:52:22 -0000
|
||||
@@ -53,13 +53,17 @@
|
||||
* (the home page for ispell)
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
#ifndef mozMySpell_h__
|
||||
#define mozMySpell_h__
|
||||
|
||||
+#ifdef MOZ_NATIVE_MYSPELL
|
||||
+#include "hunspell.hxx"
|
||||
+#else
|
||||
#include "myspell.hxx"
|
||||
+#endif
|
||||
#include "mozISpellCheckingEngine.h"
|
||||
#include "mozIPersonalDictionary.h"
|
||||
#include "nsString.h"
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsIObserver.h"
|
||||
#include "nsIUnicodeEncoder.h"
|
||||
Index: config/system-headers
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/config/system-headers,v
|
||||
retrieving revision 3.4.4.4
|
||||
diff -u -p -6 -r3.4.4.4 system-headers
|
||||
--- config/system-headers 8 Nov 2007 09:03:24 -0000 3.4.4.4
|
||||
+++ config/system-headers 29 Dec 2008 15:11:37 -0000
|
||||
@@ -929,6 +929,7 @@ pk11sdr.h
|
||||
#if MOZ_NATIVE_PNG==1
|
||||
png.h
|
||||
#endif
|
||||
#if MOZ_NATIVE_ZLIB==1
|
||||
zlib.h
|
||||
#endif
|
||||
+hunspell/hunspell.hxx
|
||||
Index: configure.in
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/configure.in,v
|
||||
retrieving revision 1.1503.2.112
|
||||
diff -u -p -r1.1503.2.112 configure.in
|
||||
--- configure.in 19 Oct 2008 16:14:06 -0000 1.1503.2.112
|
||||
+++ configure.in 29 Dec 2008 15:44:08 -0000
|
||||
@@ -3916,6 +3916,24 @@ fi
|
||||
|
||||
fi # SKIP_LIBRARY_CHECKS
|
||||
|
||||
+dnl system MySpell Support
|
||||
+dnl ========================================================
|
||||
+MOZ_ARG_ENABLE_BOOL(system-myspell,
|
||||
+[ --enable-system-myspell Use system myspell (located with pkgconfig)],
|
||||
+ SYSTEM_MYSPELL=1 )
|
||||
+
|
||||
+if test -n "$SYSTEM_MYSPELL"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_MYSPELL, hunspell)
|
||||
+ MOZ_MYSPELL_CFLAGS="$MOZ_MYSPELL_CFLAGS -DMySpell=Hunspell"
|
||||
+fi
|
||||
+
|
||||
+if test "$SYSTEM_MYSPELL" = 1; then
|
||||
+ AC_DEFINE(MOZ_NATIVE_MYSPELL)
|
||||
+fi
|
||||
+AC_SUBST(SYSTEM_MYSPELL)
|
||||
+AC_SUBST(MOZ_MYSPELL_LIBS)
|
||||
+AC_SUBST(MOZ_MYSPELL_CFLAGS)
|
||||
+
|
||||
dnl ========================================================
|
||||
dnl Java SDK support
|
||||
dnl ========================================================
|
||||
Index: configure
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/configure,v
|
||||
retrieving revision 1.1492.2.130
|
||||
diff -u -p -r1.1492.2.130 configure
|
||||
--- configure 19 Oct 2008 16:21:23 -0000 1.1492.2.130
|
||||
+++ configure 29 Dec 2008 15:44:16 -0000
|
||||
@@ -60,6 +60,8 @@ ac_help="$ac_help
|
||||
--with-system-png[=PFX]
|
||||
Use system libpng [installed at prefix PFX]"
|
||||
ac_help="$ac_help
|
||||
+ --enable-system-myspell Use system myspell (located with pkgconfig)"
|
||||
+ac_help="$ac_help
|
||||
--with-java-include-path=dir Location of Java SDK headers"
|
||||
ac_help="$ac_help
|
||||
--with-java-bin-path=dir Location of Java binaries (java, javac, jar)"
|
||||
@@ -12185,6 +12187,124 @@ fi
|
||||
|
||||
fi # SKIP_LIBRARY_CHECKS
|
||||
|
||||
+# Check whether --enable-system-myspell or --disable-system-myspell was given.
|
||||
+if test "${enable_system_myspell+set}" = set; then
|
||||
+ enableval="$enable_system_myspell"
|
||||
+ if test "$enableval" = "yes"; then
|
||||
+ SYSTEM_MYSPELL=1
|
||||
+ elif test "$enableval" = "no"; then
|
||||
+ :
|
||||
+ else
|
||||
+ { echo "configure: error: Option, system-myspell, does not take an argument ($enableval)." 1>&2; exit 1; }
|
||||
+ fi
|
||||
+fi
|
||||
+
|
||||
+
|
||||
+if test -n "$SYSTEM_MYSPELL"; then
|
||||
+
|
||||
+ succeeded=no
|
||||
+
|
||||
+ if test -z "$PKG_CONFIG"; then
|
||||
+ # Extract the first word of "pkg-config", so it can be a program name with args.
|
||||
+set dummy pkg-config; ac_word=$2
|
||||
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
+echo "configure:12212: checking for $ac_word" >&5
|
||||
+if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then
|
||||
+ echo $ac_n "(cached) $ac_c" 1>&6
|
||||
+else
|
||||
+ case "$PKG_CONFIG" in
|
||||
+ /*)
|
||||
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
|
||||
+ ;;
|
||||
+ ?:/*)
|
||||
+ ac_cv_path_PKG_CONFIG="$PKG_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_PKG_CONFIG="$ac_dir/$ac_word"
|
||||
+ break
|
||||
+ fi
|
||||
+ done
|
||||
+ IFS="$ac_save_ifs"
|
||||
+ test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
|
||||
+ ;;
|
||||
+esac
|
||||
+fi
|
||||
+PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
|
||||
+if test -n "$PKG_CONFIG"; then
|
||||
+ echo "$ac_t""$PKG_CONFIG" 1>&6
|
||||
+else
|
||||
+ echo "$ac_t""no" 1>&6
|
||||
+fi
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+ if test "$PKG_CONFIG" = "no" ; then
|
||||
+ echo "*** The pkg-config script could not be found. Make sure it is"
|
||||
+ echo "*** in your path, or set the PKG_CONFIG environment variable"
|
||||
+ echo "*** to the full path to pkg-config."
|
||||
+ echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
|
||||
+ else
|
||||
+ PKG_CONFIG_MIN_VERSION=0.9.0
|
||||
+ if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
|
||||
+ echo $ac_n "checking for hunspell""... $ac_c" 1>&6
|
||||
+echo "configure:12256: checking for hunspell" >&5
|
||||
+
|
||||
+ if $PKG_CONFIG --exists "hunspell" ; then
|
||||
+ echo "$ac_t""yes" 1>&6
|
||||
+ succeeded=yes
|
||||
+
|
||||
+ echo $ac_n "checking MOZ_MYSPELL_CFLAGS""... $ac_c" 1>&6
|
||||
+echo "configure:12263: checking MOZ_MYSPELL_CFLAGS" >&5
|
||||
+ MOZ_MYSPELL_CFLAGS=`$PKG_CONFIG --cflags "hunspell"`
|
||||
+ echo "$ac_t""$MOZ_MYSPELL_CFLAGS" 1>&6
|
||||
+
|
||||
+ echo $ac_n "checking MOZ_MYSPELL_LIBS""... $ac_c" 1>&6
|
||||
+echo "configure:12268: checking MOZ_MYSPELL_LIBS" >&5
|
||||
+ ## don't use --libs since that can do evil things like add
|
||||
+ ## -Wl,--export-dynamic
|
||||
+ MOZ_MYSPELL_LIBS="`$PKG_CONFIG --libs-only-L \"hunspell\"` `$PKG_CONFIG --libs-only-l \"hunspell\"`"
|
||||
+ echo "$ac_t""$MOZ_MYSPELL_LIBS" 1>&6
|
||||
+ else
|
||||
+ MOZ_MYSPELL_CFLAGS=""
|
||||
+ MOZ_MYSPELL_LIBS=""
|
||||
+ ## If we have a custom action on failure, don't print errors, but
|
||||
+ ## do set a variable so people can do so.
|
||||
+ MOZ_MYSPELL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "hunspell"`
|
||||
+ echo $MOZ_MYSPELL_PKG_ERRORS
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+
|
||||
+ else
|
||||
+ echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
|
||||
+ echo "*** See http://www.freedesktop.org/software/pkgconfig"
|
||||
+ fi
|
||||
+ fi
|
||||
+
|
||||
+ if test $succeeded = yes; then
|
||||
+ :
|
||||
+ else
|
||||
+ { echo "configure: error: Library requirements (hunspell) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." 1>&2; exit 1; }
|
||||
+ fi
|
||||
+
|
||||
+ MOZ_MYSPELL_CFLAGS="$MOZ_MYSPELL_CFLAGS -DMySpell=Hunspell"
|
||||
+fi
|
||||
+
|
||||
+if test "$SYSTEM_MYSPELL" = 1; then
|
||||
+ cat >> confdefs.h <<\EOF
|
||||
+#define MOZ_NATIVE_MYSPELL 1
|
||||
+EOF
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
JAVA_INCLUDE_PATH=
|
||||
# Check whether --with-java-include-path or --without-java-include-path was given.
|
||||
if test "${with_java_include_path+set}" = set; then
|
||||
@@ -20459,10 +20579,13 @@ 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%@PKG_CONFIG@%$PKG_CONFIG%g
|
||||
+s%@MOZ_MYSPELL_CFLAGS@%$MOZ_MYSPELL_CFLAGS%g
|
||||
+s%@MOZ_MYSPELL_LIBS@%$MOZ_MYSPELL_LIBS%g
|
||||
+s%@SYSTEM_MYSPELL@%$SYSTEM_MYSPELL%g
|
||||
s%@GTK_CONFIG@%$GTK_CONFIG%g
|
||||
s%@GTK_CFLAGS@%$GTK_CFLAGS%g
|
||||
s%@GTK_LIBS@%$GTK_LIBS%g
|
||||
-s%@PKG_CONFIG@%$PKG_CONFIG%g
|
||||
s%@MOZ_GTK2_CFLAGS@%$MOZ_GTK2_CFLAGS%g
|
||||
s%@MOZ_GTK2_LIBS@%$MOZ_GTK2_LIBS%g
|
||||
s%@HOST_MOC@%$HOST_MOC%g
|
3
mozilla-system-hunspell.patch.bz2
Normal file
3
mozilla-system-hunspell.patch.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fcf32288d607a0b8ebd4d275c1ccfa42390944d4711c24cdf8e6ee4f4953be0a
|
||||
size 124011
|
173
mozilla.sh.in
173
mozilla.sh.in
@ -1,30 +1,47 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public
|
||||
# License Version 1.1 (the "License"); you may not use this file
|
||||
# except in compliance with the License. You may obtain a copy of
|
||||
# the License at http://www.mozilla.org/NPL/
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS
|
||||
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
# implied. See the License for the specific language governing
|
||||
# rights and limitations under the License.
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
# The Original Code is mozilla.org Code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Netscape Communications Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 1998
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Wolfgang Rosenauer <wolfgang.rosenauer@suse.de>
|
||||
# <wr@rosenauer.org>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
##
|
||||
## Usage:
|
||||
##
|
||||
## $ mozilla
|
||||
## $ mozilla [args]
|
||||
##
|
||||
## This script is meant to run a mozilla program from the mozilla
|
||||
## rpm installation.
|
||||
@ -40,99 +57,77 @@ cmdname=`basename $0`
|
||||
MOZ_DIST_BIN="%PREFIX"
|
||||
MOZ_DIST_LIB="%PROGDIR"
|
||||
MOZ_APPNAME="%APPNAME"
|
||||
MOZ_PROFILE="%PROFILE"
|
||||
MOZ_PROGRAM="$MOZ_DIST_LIB/$MOZ_APPNAME-bin"
|
||||
|
||||
# enigmail should honor env
|
||||
export ENIGMAIL_PASS_ENV=http_proxy
|
||||
export MOZ_APP_LAUNCHER="$MOZ_DIST_LIB/$MOZ_APPNAME.sh"
|
||||
|
||||
# ignore composite extension
|
||||
export XLIB_SKIP_ARGB_VISUALS=1
|
||||
mozilla_lib=`file $MOZ_PROGRAM`
|
||||
LIB=lib
|
||||
echo $mozilla_lib | grep -q -E 'x86-64|s390x|ppc64' && LIB=lib64
|
||||
|
||||
# Pango support
|
||||
if [ -z "$MOZ_ENABLE_PANGO" -a -z "$MOZ_DISABLE_PANGO" ]; then
|
||||
case "${LC_ALL-${LC_CTYPE-${LANG-en_US}}}" in
|
||||
bn*|gu*|hi*|ja*|km*|kn*|ml*|mr*|pa*|ta*|te*) # list of languages which need pango
|
||||
;;
|
||||
*)
|
||||
export MOZ_DISABLE_PANGO=1 # disable by default
|
||||
;;
|
||||
esac
|
||||
BROWSER_PLUGIN_DIR=/usr/$LIB/browser-plugins
|
||||
if [ ! -d $BROWSER_PLUGIN_DIR ]; then
|
||||
BROWSER_PLUGIN_DIR=/opt/netscape/plugins
|
||||
fi
|
||||
|
||||
##
|
||||
## Set MOZILLA_FIVE_HOME
|
||||
##
|
||||
MOZILLA_FIVE_HOME="$MOZ_DIST_LIB"
|
||||
export MOZILLA_FIVE_HOME
|
||||
|
||||
##
|
||||
## Set LD_LIBRARY_PATH
|
||||
##
|
||||
if [ "$LD_LIBRARY_PATH" ]
|
||||
then
|
||||
LD_LIBRARY_PATH=$MOZ_DIST_LIB/plugins:$MOZ_DIST_LIB:$LD_LIBRARY_PATH
|
||||
else
|
||||
LD_LIBRARY_PATH=$MOZ_DIST_LIB/plugins:$MOZ_DIST_LIB
|
||||
fi
|
||||
LD_LIBRARY_PATH=$MOZ_DIST_LIB:$LD_LIBRARY_PATH
|
||||
export LD_LIBRARY_PATH
|
||||
|
||||
## Make sure that we set the plugin path for backwards compatibility
|
||||
## Set MOZ_PLUGIN_PATH to $HOME/.mozilla/plugins if not set
|
||||
# ignore composite extension (needed for Flash)
|
||||
export XLIB_SKIP_ARGB_VISUALS=1
|
||||
|
||||
# needed for SUN Java under Xorg >= 7.2
|
||||
export LIBXCB_ALLOW_SLOPPY_LOCK=1
|
||||
|
||||
##
|
||||
if [ -z "$MOZ_PLUGIN_PATH" ]; then
|
||||
export MOZ_PLUGIN_PATH=$MOZILLA_FIVE_HOME/plugins
|
||||
if [ "$HOME" ] ; then
|
||||
export MOZ_PLUGIN_PATH=$HOME/$MOZ_PROFILE/plugins:$MOZ_PLUGIN_PATH
|
||||
export MOZ_PLUGIN_PATH=$BROWSER_PLUGIN_DIR
|
||||
else
|
||||
# make sure that BROWSER_PLUGIN_DIR is in MOZ_PLUGIN_PATH
|
||||
echo "$MOZ_PLUGIN_PATH" | grep "$BROWSER_PLUGIN_DIR" 2>&1 >/dev/null
|
||||
_retval=$?
|
||||
if [ ${_retval} -ne 0 ]; then
|
||||
export MOZ_PLUGIN_PATH=$MOZ_PLUGIN_PATH:$BROWSER_PLUGIN_DIR
|
||||
fi
|
||||
fi
|
||||
|
||||
moz_pis_startstop_scripts()
|
||||
{
|
||||
MOZ_USER_DIR="$MOZ_PROFILE"
|
||||
# MOZ_PIS_ is the name space for "Mozilla Plugable Init Scripts"
|
||||
# These variables and there meaning are specified in
|
||||
# mozilla/xpfe/bootstrap/init.d/README
|
||||
MOZ_PIS_API=2
|
||||
MOZ_PIS_MOZBINDIR="$MOZ_DIST_LIB"
|
||||
MOZ_PIS_SESSION_PID="$$"
|
||||
MOZ_PIS_USER_DIR="${MOZ_USER_DIR}"
|
||||
export MOZ_PIS_API MOZ_PIS_MOZBINDIR MOZ_PIS_SESSION_PID MOZ_PIS_USER_DIR
|
||||
|
||||
case "${1}" in
|
||||
"start")
|
||||
for curr_pis in "$MOZ_DIST_LIB/init.d"/S* "${HOME}/${MOZ_USER_DIR}/init.d"/S* ; do
|
||||
if [ -x "${curr_pis}" ] ; then
|
||||
case "${curr_pis}" in
|
||||
*.sh) . "${curr_pis}" ;;
|
||||
*) "${curr_pis}" "start" ;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
;;
|
||||
"stop")
|
||||
for curr_pis in "${HOME}/${MOZ_USER_DIR}/init.d"/K* "$MOZ_DIST_LIB/init.d"/K* ; do
|
||||
if [ -x "${curr_pis}" ] ; then
|
||||
case "${curr_pis}" in
|
||||
*.sh) . "${curr_pis}" ;;
|
||||
*) "${curr_pis}" "stop" ;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
moz_debug=0
|
||||
script_args=""
|
||||
pass_arg_count=0
|
||||
while [ $# -gt $pass_arg_count ]
|
||||
do
|
||||
case "$1" in
|
||||
-d | --debugger)
|
||||
moz_debugger=$2;
|
||||
if [ "${moz_debugger}" != "" ]; then
|
||||
shift 2
|
||||
moz_debug=1
|
||||
else
|
||||
echo "-d requires an argument"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo 1>&2 "$0: Internal error in moz_pis_startstop_scripts."
|
||||
exit 1
|
||||
# Move the unrecognized argument to the end of the list.
|
||||
arg="$1"
|
||||
shift
|
||||
set -- "$@" "$arg"
|
||||
pass_arg_count=`expr $pass_arg_count + 1`
|
||||
;;
|
||||
esac
|
||||
}
|
||||
done
|
||||
|
||||
if [ $moz_debug -eq 1 ]; then
|
||||
tmpfile=`mktemp /tmp/mozargs.XXXXXX` || { echo "Cannot create temporary file" >&2; exit 1; }
|
||||
trap " [ -f \"$tmpfile\" ] && /bin/rm -f -- \"$tmpfile\"" 0 1 2 3 13 15
|
||||
echo -e "set args ${1+"$@"}\nrun" > $tmpfile
|
||||
echo "$moz_debugger $MOZ_PROGRAM -x $tmpfile"
|
||||
$moz_debugger "$MOZ_PROGRAM" -x $tmpfile
|
||||
else
|
||||
$MOZ_PROGRAM "$@"
|
||||
fi
|
||||
exitcode=$?
|
||||
|
||||
## Start addon scripts
|
||||
moz_pis_startstop_scripts "start"
|
||||
|
||||
$MOZ_PROGRAM $@
|
||||
|
||||
## Stop addon scripts
|
||||
moz_pis_startstop_scripts "stop"
|
||||
exit 0
|
||||
exit $exitcode
|
||||
|
@ -1,46 +0,0 @@
|
||||
--- directory/c-sdk/ldap/libraries/libldap/charray.c_orig 2008-10-28 14:12:34.000000000 +0100
|
||||
+++ directory/c-sdk/ldap/libraries/libldap/charray.c 2008-10-28 14:36:05.000000000 +0100
|
||||
@@ -191,7 +191,7 @@
|
||||
*/
|
||||
char **
|
||||
LDAP_CALL
|
||||
-ldap_str2charray( char *str, char *brkstr )
|
||||
+ldap_str2charray( char *str_in, char *brkstr )
|
||||
/* This implementation fails if brkstr contains multibyte characters.
|
||||
But it works OK if str is UTF-8 and brkstr is 7-bit ASCII.
|
||||
*/
|
||||
@@ -199,6 +199,12 @@
|
||||
char **res;
|
||||
char *s;
|
||||
int i;
|
||||
+ char *str;
|
||||
+
|
||||
+ str = nsldapi_strdup( str_in );
|
||||
+ if ( str == NULL ) {
|
||||
+ return NULL;
|
||||
+ }
|
||||
|
||||
i = 1;
|
||||
for ( s = str; *s; s++ ) {
|
||||
@@ -209,6 +215,7 @@
|
||||
|
||||
res = (char **)NSLDAPI_MALLOC( (i + 1) * sizeof(char *) );
|
||||
if ( res == NULL ) {
|
||||
+ NSLDAPI_FREE( str );
|
||||
return NULL;
|
||||
}
|
||||
i = 0;
|
||||
@@ -221,11 +228,13 @@
|
||||
for ( j = 0; j < (i - 1); j++ )
|
||||
NSLDAPI_FREE( res[j] );
|
||||
NSLDAPI_FREE( res );
|
||||
+ NSLDAPI_FREE( str );
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
res[i] = NULL;
|
||||
|
||||
+ NSLDAPI_FREE( str );
|
||||
return( res );
|
||||
}
|
||||
|
@ -1,17 +0,0 @@
|
||||
--- nsprpub/pr/src/misc/Makefile.in.foo Wed Jun 11 15:42:57 2003
|
||||
+++ nsprpub/pr/src/misc/Makefile.in Wed Jun 11 15:42:49 2003
|
||||
@@ -82,6 +82,14 @@
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
+NONOPT_CFLAGS=$(filter-out -O%, $(CFLAGS))
|
||||
+
|
||||
+ifeq ($(OS_ARCH),Linux)
|
||||
+$(OBJDIR)/prdtoa.$(OBJ_SUFFIX): prdtoa.c
|
||||
+ @$(MAKE_OBJDIR)
|
||||
+ $(CC) -o $@ -c $(NONOPT_CFLAGS) -ffloat-store $<
|
||||
+endif
|
||||
+
|
||||
#
|
||||
# Generate prerr.h, prerr.c, and prerr.properties from prerr.et.
|
||||
#
|
@ -1,25 +0,0 @@
|
||||
From: Wolfgang Rosenauer <stark@suse.de>
|
||||
Subject: NSS doesn't inherit CFLAGS
|
||||
References: https://bugzilla.mozilla.org/show_bug.cgi?id=101249
|
||||
Description:
|
||||
CFLAGS are not taken from mozilla build
|
||||
|
||||
Index: security/manager/Makefile.in
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/security/manager/Makefile.in,v
|
||||
retrieving revision 1.52
|
||||
diff -u -r1.52 Makefile.in
|
||||
--- security/manager/Makefile.in 7 Jan 2004 13:36:50 -0000 1.52
|
||||
+++ security/manager/Makefile.in 10 Mar 2004 09:44:29 -0000
|
||||
@@ -71,7 +71,10 @@
|
||||
ifneq ($(ABS_topsrcdir),$(MOZ_BUILD_ROOT))
|
||||
DEFAULT_GMAKE_FLAGS += BUILD_TREE=$(MOZ_BUILD_ROOT)
|
||||
endif
|
||||
-ifndef MOZ_DEBUG
|
||||
+ifdef MOZ_DEBUG
|
||||
+DEFAULT_GMAKE_FLAGS += OPTIMIZER="$(MOZ_DEBUG_FLAGS)"
|
||||
+else
|
||||
+DEFAULT_GMAKE_FLAGS += OPTIMIZER="$(MOZ_OPTIMIZE_FLAGS)"
|
||||
DEFAULT_GMAKE_FLAGS += BUILD_OPT=1
|
||||
endif
|
||||
ifdef GNU_CC
|
@ -1,38 +0,0 @@
|
||||
From: Wolfgang Rosenauer <stark@suse.de>
|
||||
Subject: make pagesize postscript DSC conform
|
||||
References:
|
||||
http://www.cups.org/str.php?L1542
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=334485
|
||||
|
||||
Index: gfx/src/ps/nsPostScriptObj.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/gfx/src/ps/nsPostScriptObj.cpp,v
|
||||
retrieving revision 1.124
|
||||
diff -u -p -6 -r1.124 nsPostScriptObj.cpp
|
||||
--- gfx/src/ps/nsPostScriptObj.cpp 26 Jul 2005 15:54:18 -0000 1.124
|
||||
+++ gfx/src/ps/nsPostScriptObj.cpp 25 Apr 2006 18:10:34 -0000
|
||||
@@ -463,20 +463,23 @@ nsPostScriptObj::write_prolog(FILE *aHan
|
||||
|
||||
// now begin prolog
|
||||
fprintf(f, "%%%%BeginProlog\n");
|
||||
|
||||
// Tell the printer what size paper it should use
|
||||
fprintf(f,
|
||||
+ "%%%%BeginFeature: *PageSize %s\n"
|
||||
"/setpagedevice where\n" // Test for the feature
|
||||
"{ pop 2 dict\n"
|
||||
" dup /PageSize [ %s %s ] put\n" // Paper dimensions
|
||||
" dup /Policies 1 dict\n"
|
||||
" dup /PageSize 3 put\n" // Select the nearest page size to fit
|
||||
" put\n"
|
||||
" setpagedevice\n" // Install settings
|
||||
- "} if\n",
|
||||
+ "} if\n"
|
||||
+ "%%%%EndFeature\n",
|
||||
+ mPrintSetup->paper_name,
|
||||
fpCString(NSTwipsToFloatPoints(paper_width)).get(),
|
||||
fpCString(NSTwipsToFloatPoints(paper_height)).get());
|
||||
|
||||
fprintf(f, "[");
|
||||
for (i = 0; i < 256; i++){
|
||||
if (*isotab[i] == '\0'){
|
@ -1,244 +0,0 @@
|
||||
Index: mailnews/compose/public/nsIMsgComposeParams.idl
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mailnews/compose/public/nsIMsgComposeParams.idl,v
|
||||
retrieving revision 1.8
|
||||
diff -u -p -r1.8 nsIMsgComposeParams.idl
|
||||
--- mailnews/compose/public/nsIMsgComposeParams.idl 16 Sep 2005 15:18:32 -0000 1.8
|
||||
+++ mailnews/compose/public/nsIMsgComposeParams.idl 6 Apr 2006 02:26:57 -0000
|
||||
@@ -59,6 +59,7 @@ interface nsIMsgCompType {
|
||||
const long Template = 10;
|
||||
const long MailToUrl = 11;
|
||||
const long ReplyWithTemplate = 12;
|
||||
+ const long ReplyToList = 13;
|
||||
};
|
||||
|
||||
|
||||
Index: mailnews/mime/public/nsMailHeaders.h
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mailnews/mime/public/nsMailHeaders.h,v
|
||||
retrieving revision 1.11
|
||||
diff -u -p -6 -r1.11 nsMailHeaders.h
|
||||
--- mailnews/mime/public/nsMailHeaders.h 28 Feb 2005 17:10:57 -0000 1.11
|
||||
+++ mailnews/mime/public/nsMailHeaders.h 14 Aug 2006 07:31:12 -0000
|
||||
@@ -62,12 +62,13 @@
|
||||
#define HEADER_DISTRIBUTION "Distribution"
|
||||
#define HEADER_FCC "FCC"
|
||||
#define HEADER_FOLLOWUP_TO "Followup-To"
|
||||
#define HEADER_FROM "From"
|
||||
#define HEADER_STATUS "Status"
|
||||
#define HEADER_LINES "Lines"
|
||||
+#define HEADER_LIST_POST "List-Post"
|
||||
#define HEADER_MAIL_FOLLOWUP_TO "Mail-Followup-To"
|
||||
#define HEADER_MAIL_REPLY_TO "Mail-Reply-To"
|
||||
#define HEADER_MESSAGE_ID "Message-ID"
|
||||
#define HEADER_MIME_VERSION "MIME-Version"
|
||||
#define HEADER_NEWSGROUPS "Newsgroups"
|
||||
#define HEADER_ORGANIZATION "Organization"
|
||||
@@ -99,12 +100,13 @@
|
||||
#define HEADER_X_SUN_CONTENT_LINES "X-Sun-Content-Lines"
|
||||
#define HEADER_X_SUN_DATA_DESCRIPTION "X-Sun-Data-Description"
|
||||
#define HEADER_X_SUN_DATA_NAME "X-Sun-Data-Name"
|
||||
#define HEADER_X_SUN_DATA_TYPE "X-Sun-Data-Type"
|
||||
#define HEADER_X_SUN_ENCODING_INFO "X-Sun-Encoding-Info"
|
||||
#define HEADER_X_PRIORITY "X-Priority"
|
||||
+#define HEADER_X_REPLY_TO "X-Reply-To"
|
||||
|
||||
#define HEADER_PARM_CHARSET "charset"
|
||||
#define HEADER_PARM_START "start"
|
||||
#define HEADER_PARM_BOUNDARY "BOUNDARY"
|
||||
#define HEADER_PARM_FILENAME "FILENAME"
|
||||
#define HEADER_PARM_NAME "NAME"
|
||||
Index: mail/base/content/mailCommands.js
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mail/base/content/mailCommands.js,v
|
||||
retrieving revision 1.20.2.5
|
||||
diff -u -p -6 -r1.20.2.5 mailCommands.js
|
||||
--- mail/base/content/mailCommands.js 10 Jul 2006 19:44:11 -0000 1.20.2.5
|
||||
+++ mail/base/content/mailCommands.js 21 Nov 2006 07:35:42 -0000
|
||||
@@ -260,12 +260,13 @@ function ComposeMessage(type, format, fo
|
||||
var messageID = hdr.messageId;
|
||||
var messageIDScheme = messageID ? messageID.split(":")[0] : "";
|
||||
if (messageIDScheme && (messageIDScheme == 'http' || messageIDScheme == 'https') && "openComposeWindowForRSSArticle" in this)
|
||||
openComposeWindowForRSSArticle(messageID, hdr, type);
|
||||
else if (type == msgComposeType.Reply ||
|
||||
type == msgComposeType.ReplyAll ||
|
||||
+ type == msgComposeType.ReplyToList ||
|
||||
type == msgComposeType.ForwardInline ||
|
||||
type == msgComposeType.ReplyToGroup ||
|
||||
type == msgComposeType.ReplyToSender ||
|
||||
type == msgComposeType.ReplyToSenderAndGroup ||
|
||||
type == msgComposeType.Template ||
|
||||
type == msgComposeType.Draft)
|
||||
Index: mailnews/base/resources/content/mailCommands.js
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mailnews/base/resources/content/mailCommands.js,v
|
||||
retrieving revision 1.96.4.4
|
||||
diff -u -p -6 -r1.96.4.4 mailCommands.js
|
||||
--- mailnews/base/resources/content/mailCommands.js 25 Jun 2006 08:56:04 -0000 1.96.4.4
|
||||
+++ mailnews/base/resources/content/mailCommands.js 21 Nov 2006 07:35:51 -0000
|
||||
@@ -267,12 +267,13 @@ function ComposeMessage(type, format, fo
|
||||
identity = tmpIdentity;
|
||||
}
|
||||
}
|
||||
|
||||
if (type == msgComposeType.Reply ||
|
||||
type == msgComposeType.ReplyAll ||
|
||||
+ type == msgComposeType.ReplyToList ||
|
||||
type == msgComposeType.ForwardInline ||
|
||||
type == msgComposeType.ReplyToGroup ||
|
||||
type == msgComposeType.ReplyToSender ||
|
||||
type == msgComposeType.ReplyToSenderAndGroup ||
|
||||
type == msgComposeType.Template ||
|
||||
type == msgComposeType.Draft)
|
||||
Index: mailnews/compose/src/nsMsgCompose.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/mailnews/compose/src/nsMsgCompose.cpp,v
|
||||
retrieving revision 1.460.2.27
|
||||
diff -u -p -6 -r1.460.2.27 nsMsgCompose.cpp
|
||||
--- mailnews/compose/src/nsMsgCompose.cpp 4 Jan 2007 19:34:56 -0000 1.460.2.27
|
||||
+++ mailnews/compose/src/nsMsgCompose.cpp 10 Jan 2007 09:01:35 -0000
|
||||
@@ -1748,12 +1748,13 @@ nsresult nsMsgCompose::CreateMessage(con
|
||||
|
||||
switch (type)
|
||||
{
|
||||
default: break;
|
||||
case nsIMsgCompType::Reply :
|
||||
case nsIMsgCompType::ReplyAll:
|
||||
+ case nsIMsgCompType::ReplyToList:
|
||||
case nsIMsgCompType::ReplyToGroup:
|
||||
case nsIMsgCompType::ReplyToSender:
|
||||
case nsIMsgCompType::ReplyToSenderAndGroup:
|
||||
{
|
||||
if (!isFirstPass) // safeguard, just in case...
|
||||
{
|
||||
@@ -2192,14 +2193,18 @@ NS_IMETHODIMP QuotingOutputStreamListene
|
||||
compose->GetType(&type);
|
||||
|
||||
// Assign cite information if available...
|
||||
if (!mCiteReference.IsEmpty())
|
||||
compose->SetCiteReference(mCiteReference);
|
||||
|
||||
- if (mHeaders && (type == nsIMsgCompType::Reply || type == nsIMsgCompType::ReplyAll || type == nsIMsgCompType::ReplyToSender ||
|
||||
- type == nsIMsgCompType::ReplyToGroup || type == nsIMsgCompType::ReplyToSenderAndGroup) && mQuoteOriginal)
|
||||
+ if (mHeaders && (type == nsIMsgCompType::Reply ||
|
||||
+ type == nsIMsgCompType::ReplyAll ||
|
||||
+ type == nsIMsgCompType::ReplyToList ||
|
||||
+ type == nsIMsgCompType::ReplyToSender ||
|
||||
+ type == nsIMsgCompType::ReplyToGroup ||
|
||||
+ type == nsIMsgCompType::ReplyToSenderAndGroup) && mQuoteOriginal)
|
||||
{
|
||||
nsCOMPtr<nsIMsgCompFields> compFields;
|
||||
compose->GetCompFields(getter_AddRefs(compFields));
|
||||
if (compFields)
|
||||
{
|
||||
aCharset.AssignLiteral("UTF-8");
|
||||
@@ -2210,12 +2215,13 @@ NS_IMETHODIMP QuotingOutputStreamListene
|
||||
nsAutoString mailReplyTo;
|
||||
nsAutoString mailFollowupTo;
|
||||
nsAutoString newgroups;
|
||||
nsAutoString followUpTo;
|
||||
nsAutoString messageId;
|
||||
nsAutoString references;
|
||||
+ nsAutoString listPost;
|
||||
nsXPIDLCString outCString;
|
||||
PRBool needToRemoveDup = PR_FALSE;
|
||||
if (!mMimeConverter)
|
||||
{
|
||||
mMimeConverter = do_GetService(NS_MIME_CONVERTER_CONTRACTID, &rv);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
@@ -2263,13 +2269,36 @@ NS_IMETHODIMP QuotingOutputStreamListene
|
||||
recipient += cc;
|
||||
compFields->SetCc(recipient);
|
||||
}
|
||||
|
||||
needToRemoveDup = PR_TRUE;
|
||||
}
|
||||
-
|
||||
+
|
||||
+ mHeaders->ExtractHeader(HEADER_LIST_POST, PR_TRUE, getter_Copies(outCString));
|
||||
+ if (!outCString.IsEmpty())
|
||||
+ mMimeConverter->DecodeMimeHeader(outCString, listPost, charset);
|
||||
+
|
||||
+ if (type == nsIMsgCompType::ReplyToList && ! listPost.IsEmpty())
|
||||
+ {
|
||||
+ nsString::const_iterator mailtoStart, mailtoEnd;
|
||||
+ listPost.BeginReading(mailtoStart);
|
||||
+ listPost.EndReading(mailtoEnd);
|
||||
+ nsAutoString mailtoText(NS_LITERAL_STRING("<mailto:"));
|
||||
+ PRBool mailtoFound = FindInReadable(mailtoText, mailtoStart, mailtoEnd);
|
||||
+
|
||||
+ // Strip off the leading "<mailto:" and trailing ">"
|
||||
+ if (mailtoFound && listPost.Equals(mailtoStart.get()) &&
|
||||
+ listPost.RFindChar('>') == listPost.Length() - 1)
|
||||
+ {
|
||||
+ listPost.Cut(0, mailtoText.Length());
|
||||
+ listPost.Cut(listPost.Length() - 1, 1);
|
||||
+
|
||||
+ compFields->SetTo(listPost);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
mHeaders->ExtractHeader(HEADER_REPLY_TO, PR_FALSE, getter_Copies(outCString));
|
||||
if (outCString)
|
||||
{
|
||||
mMimeConverter->DecodeMimeHeader(outCString, replyTo, charset);
|
||||
}
|
||||
|
||||
@@ -2300,13 +2329,14 @@ NS_IMETHODIMP QuotingOutputStreamListene
|
||||
mHeaders->ExtractHeader(HEADER_REFERENCES, PR_FALSE, getter_Copies(outCString));
|
||||
if (outCString)
|
||||
{
|
||||
mMimeConverter->DecodeMimeHeader(outCString, references, charset);
|
||||
}
|
||||
|
||||
- if (! ((type == nsIMsgCompType::ReplyAll) && ! mailFollowupTo.IsEmpty()))
|
||||
+ if (! ((type == nsIMsgCompType::ReplyAll) && ! mailFollowupTo.IsEmpty()) &&
|
||||
+ ! ((type == nsIMsgCompType::ReplyToList) && ! listPost.IsEmpty()))
|
||||
{
|
||||
if (! mailReplyTo.IsEmpty())
|
||||
{ // handle Mail-Reply-To (http://cr.yp.to/proto/replyto.html)
|
||||
compFields->SetTo(mailReplyTo);
|
||||
needToRemoveDup = PR_TRUE;
|
||||
}
|
||||
@@ -2805,12 +2835,13 @@ void nsMsgCompose::CleanUpRecipients(nsS
|
||||
NS_IMETHODIMP nsMsgCompose::RememberQueuedDisposition()
|
||||
{
|
||||
// need to find the msg hdr in the saved folder and then set a property on
|
||||
// the header that we then look at when we actually send the message.
|
||||
if (mType == nsIMsgCompType::Reply ||
|
||||
mType == nsIMsgCompType::ReplyAll ||
|
||||
+ mType == nsIMsgCompType::ReplyToList ||
|
||||
mType == nsIMsgCompType::ReplyToGroup ||
|
||||
mType == nsIMsgCompType::ReplyToSender ||
|
||||
mType == nsIMsgCompType::ReplyToSenderAndGroup ||
|
||||
mType == nsIMsgCompType::ForwardAsAttachment ||
|
||||
mType == nsIMsgCompType::ForwardInline)
|
||||
{
|
||||
@@ -2843,12 +2874,13 @@ nsresult nsMsgCompose::ProcessReplyFlags
|
||||
{
|
||||
nsresult rv;
|
||||
// check to see if we were doing a reply or a forward, if we were, set the answered field flag on the message folder
|
||||
// for this URI.
|
||||
if (mType == nsIMsgCompType::Reply ||
|
||||
mType == nsIMsgCompType::ReplyAll ||
|
||||
+ mType == nsIMsgCompType::ReplyToList ||
|
||||
mType == nsIMsgCompType::ReplyToGroup ||
|
||||
mType == nsIMsgCompType::ReplyToSender ||
|
||||
mType == nsIMsgCompType::ReplyToSenderAndGroup ||
|
||||
mType == nsIMsgCompType::ForwardAsAttachment ||
|
||||
mType == nsIMsgCompType::ForwardInline ||
|
||||
mDraftDisposition != nsIMsgFolder::nsMsgDispositionState_None)
|
||||
@@ -3775,12 +3807,13 @@ nsMsgCompose::BuildBodyMessageAndSignatu
|
||||
switch (mType)
|
||||
{
|
||||
case nsIMsgCompType::New :
|
||||
case nsIMsgCompType::MailToUrl : /* same as New */
|
||||
case nsIMsgCompType::Reply : /* should not happen! but just in case */
|
||||
case nsIMsgCompType::ReplyAll : /* should not happen! but just in case */
|
||||
+ case nsIMsgCompType::ReplyToList : /* should not happen! but just in case */
|
||||
case nsIMsgCompType::ForwardAsAttachment : /* should not happen! but just in case */
|
||||
case nsIMsgCompType::ForwardInline :
|
||||
case nsIMsgCompType::NewsPost :
|
||||
case nsIMsgCompType::ReplyToGroup :
|
||||
case nsIMsgCompType::ReplyToSender :
|
||||
case nsIMsgCompType::ReplyToSenderAndGroup :
|
45
shipped-locales
Normal file
45
shipped-locales
Normal file
@ -0,0 +1,45 @@
|
||||
af
|
||||
ar
|
||||
be
|
||||
bn-BD
|
||||
ca
|
||||
cs
|
||||
de
|
||||
el
|
||||
en-GB
|
||||
en-US
|
||||
es-AR
|
||||
es-ES
|
||||
et
|
||||
eu
|
||||
fi
|
||||
fr
|
||||
fy-NL
|
||||
ga-IE
|
||||
gl
|
||||
hu
|
||||
id
|
||||
is
|
||||
it
|
||||
ja linux win32
|
||||
ja-JP-mac osx
|
||||
ko
|
||||
lt
|
||||
nb-NO
|
||||
nl
|
||||
nn-NO
|
||||
pa-IN
|
||||
pl
|
||||
pt-BR
|
||||
pt-PT
|
||||
ro
|
||||
ru
|
||||
si
|
||||
sk
|
||||
sq
|
||||
sv-SE
|
||||
ta-LK
|
||||
tr
|
||||
uk
|
||||
vi
|
||||
zh-CN
|
@ -1,5 +1,6 @@
|
||||
pref("general.useragent.vendor", "SUSE");
|
||||
pref("general.useragent.vendorSub", "RPM_VERSION");
|
||||
pref("app.update.enabled", false);
|
||||
pref("font.default", "sans-serif");
|
||||
pref("font.default.x-western", "sans-serif");
|
||||
pref("font.name.monospace.x-western", "monospace");
|
||||
@ -9,3 +10,4 @@ pref("print.print_edge_top", 14); // 1/100 of an inch
|
||||
pref("print.print_edge_left", 16); // 1/100 of an inch
|
||||
pref("print.print_edge_right", 16); // 1/100 of an inch
|
||||
pref("print.print_edge_bottom", 14); // 1/100 of an inch
|
||||
pref("intl.locale.matchOS", true);
|
||||
|
@ -1,92 +0,0 @@
|
||||
Index: toolkit/mozapps/extensions/src/nsExtensionManager.js.in
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/toolkit/mozapps/extensions/src/nsExtensionManager.js.in,v
|
||||
retrieving revision 1.144.2.52
|
||||
diff -u -p -6 -r1.144.2.52 nsExtensionManager.js.in
|
||||
--- toolkit/mozapps/extensions/src/nsExtensionManager.js.in 29 Jun 2006 20:11:57 -0000 1.144.2.52
|
||||
+++ toolkit/mozapps/extensions/src/nsExtensionManager.js.in 20 Jul 2006 07:23:39 -0000
|
||||
@@ -116,12 +116,13 @@ const OP_NEEDS_UPGRADE =
|
||||
const OP_NEEDS_UNINSTALL = "needs-uninstall";
|
||||
const OP_NEEDS_ENABLE = "needs-enable";
|
||||
const OP_NEEDS_DISABLE = "needs-disable";
|
||||
|
||||
const KEY_APP_PROFILE = "app-profile";
|
||||
const KEY_APP_GLOBAL = "app-global";
|
||||
+const KEY_APP_SYSTEM = "app-system";
|
||||
|
||||
const CATEGORY_INSTALL_LOCATIONS = "extension-install-locations";
|
||||
|
||||
const PREFIX_NS_EM = "http://www.mozilla.org/2004/em-rdf#";
|
||||
const PREFIX_NS_CHROME = "http://www.mozilla.org/rdf/chrome#";
|
||||
const PREFIX_ITEM_URI = "urn:mozilla:item:";
|
||||
@@ -2671,12 +2672,23 @@ function ExtensionManager() {
|
||||
var priority = nsIInstallLocation.PRIORITY_APP_PROFILE;
|
||||
var profileLocation = new DirectoryInstallLocation(KEY_APP_PROFILE,
|
||||
appProfileExtensions, false,
|
||||
priority);
|
||||
InstallLocations.put(profileLocation);
|
||||
|
||||
+ // Register App-System Install Location
|
||||
+ try {
|
||||
+ var appSystemExtensions = getDirNoCreate("DrvD", ["usr","lib","browser-extensions","thunderbird"]);
|
||||
+ var priority = nsIInstallLocation.PRIORITY_APP_PROFILE - 1;
|
||||
+ var systemLocation = new DirectoryInstallLocation(KEY_APP_SYSTEM,
|
||||
+ appSystemExtensions, true,
|
||||
+ priority);
|
||||
+ InstallLocations.put(systemLocation);
|
||||
+ } catch (e) {}
|
||||
+
|
||||
+
|
||||
#ifdef XP_WIN
|
||||
// Register HKEY_LOCAL_MACHINE Install Location
|
||||
InstallLocations.put(
|
||||
new WinRegInstallLocation("winreg-app-global",
|
||||
nsIWindowsRegKey.ROOT_KEY_LOCAL_MACHINE,
|
||||
true,
|
||||
@@ -3830,13 +3842,13 @@ ExtensionManager.prototype = {
|
||||
// toolkit 1.8 extension datasource.
|
||||
if (dsExists)
|
||||
return;
|
||||
|
||||
// Prepare themes for installation
|
||||
// Only enumerate directories in the app-profile and app-global locations.
|
||||
- var locations = [KEY_APP_PROFILE, KEY_APP_GLOBAL];
|
||||
+ var locations = [KEY_APP_PROFILE, KEY_APP_GLOBAL, KEY_APP_SYSTEM];
|
||||
for (var i = 0; i < locations.length; ++i) {
|
||||
var location = InstallLocations.get(locations[i]);
|
||||
if (!location.canAccess)
|
||||
continue;
|
||||
|
||||
var entries = location.itemLocations;
|
||||
@@ -3896,13 +3908,14 @@ ExtensionManager.prototype = {
|
||||
if (this._checkForFileChanges()) {
|
||||
// Create a list of all items that are to be installed so we can migrate
|
||||
// these items's settings to the new datasource.
|
||||
var items = PendingOperations.getOperations(OP_NEEDS_INSTALL);
|
||||
for (i = items.length - 1; i >= 0; --i) {
|
||||
if (items[i].locationKey == KEY_APP_PROFILE ||
|
||||
- items[i].locationKey == KEY_APP_GLOBAL)
|
||||
+ items[i].locationKey == KEY_APP_GLOBAL ||
|
||||
+ items[i].locationKey == KEY_APP_SYSTEM)
|
||||
itemsToCheck.push(items[i].id);
|
||||
}
|
||||
this._finishOperations();
|
||||
}
|
||||
|
||||
// If there are no items to migrate settings for return early.
|
||||
@@ -4881,13 +4894,14 @@ ExtensionManager.prototype = {
|
||||
var restartRequired = this.installRequiresRestart(id, ds.getItemProperty(id, "type"))
|
||||
this._updateManifests(restartRequired);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (installLocation.name == KEY_APP_PROFILE ||
|
||||
- installLocation.name == KEY_APP_GLOBAL) {
|
||||
+ installLocation.name == KEY_APP_GLOBAL ||
|
||||
+ installLocation.name == KEY_APP_SYSTEM) {
|
||||
// Check for a pointer file and remove it if it exists
|
||||
var pointerFile = installLocation.location.clone();
|
||||
pointerFile.append(id);
|
||||
if (pointerFile.exists() && !pointerFile.isDirectory())
|
||||
pointerFile.remove(false);
|
||||
}
|
@ -1,30 +1,16 @@
|
||||
Index: config/autoconf.mk.in
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/config/autoconf.mk.in,v
|
||||
retrieving revision 3.363.2.20
|
||||
diff -u -6 -r3.363.2.20 autoconf.mk.in
|
||||
--- config/autoconf.mk.in 14 Sep 2006 18:07:03 -0000 3.363.2.20
|
||||
+++ config/autoconf.mk.in 3 Dec 2007 07:00:26 -0000
|
||||
@@ -54,19 +54,19 @@
|
||||
|
||||
MOZ_PKG_SPECIAL = @MOZ_PKG_SPECIAL@
|
||||
|
||||
--- config/autoconf.mk.in.orig 2009-02-11 20:12:19.000000000 +0100
|
||||
+++ config/autoconf.mk.in 2009-02-11 20:13:15.000000000 +0100
|
||||
@@ -60,11 +60,11 @@ MOZ_PKG_SPECIAL = @MOZ_PKG_SPECIAL@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
bindir = @bindir@
|
||||
-includedir = @includedir@/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
|
||||
+includedir = @includedir@/$(MOZ_APP_NAME)
|
||||
+includedir = @includedir@/$(MOZ_APP_NAME)3
|
||||
libdir = @libdir@
|
||||
datadir = @datadir@
|
||||
mandir = @mandir@
|
||||
-idldir = @datadir@/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
|
||||
+idldir = @libdir@/$(MOZ_APP_NAME)
|
||||
-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
|
||||
+idldir = @libdir@/$(MOZ_APP_NAME)3
|
||||
|
||||
-mozappdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
|
||||
+mozappdir = $(libdir)/$(MOZ_APP_NAME)
|
||||
mredir = $(libdir)/mre/mre-$(MOZ_APP_VERSION)
|
||||
mrelibdir = $(mredir)/lib
|
||||
|
||||
DIST = $(DEPTH)/dist
|
||||
|
||||
MOZ_CHROME_FILE_FORMAT = @MOZ_CHROME_FILE_FORMAT@
|
||||
installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
|
||||
sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
|
||||
|
@ -1,10 +0,0 @@
|
||||
--- directory/c-sdk/ldap/libraries/libldap/os-ip.c 2002-04-02 09:44:45.000000000 +0200
|
||||
+++ directory/c-sdk/ldap/libraries/libldap/os-ip.c.new 2007-01-30 18:10:39.270576000 +0100
|
||||
@@ -554,6 +554,7 @@
|
||||
#endif /* GETHOSTBYNAME_BUF_T */
|
||||
|
||||
connected = 0;
|
||||
+ ldhpbuf_allocd = NULL;
|
||||
parse_err = ldap_x_hostlist_first( hostlist, defport, &host, &port,
|
||||
&status );
|
||||
while ( !connected && LDAP_SUCCESS == parse_err && host != NULL ) {
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:15bb785c5b44115b78fa72884b3d6194e15c98fc6e0e5e56ce73ace92e2eb865
|
||||
size 43339888
|
3
thunderbird-3.0b3-source.tar.bz2
Normal file
3
thunderbird-3.0b3-source.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e482994f70fb39566057cb8de5d0a1cc351ad6284e11f3babd386114cda2cb98
|
||||
size 58020044
|
28
thunderbird-no-update.patch
Normal file
28
thunderbird-no-update.patch
Normal file
@ -0,0 +1,28 @@
|
||||
diff --git a/mail/base/content/utilityOverlay.js b/mail/base/content/utilityOverlay.js
|
||||
--- a/mail/base/content/utilityOverlay.js
|
||||
+++ b/mail/base/content/utilityOverlay.js
|
||||
@@ -237,7 +237,13 @@ function buildHelpMenu()
|
||||
// administrator or if we cannot update for some other reason.
|
||||
var checkForUpdates = document.getElementById("checkForUpdates");
|
||||
var canUpdate = updates.canUpdate;
|
||||
+ var prefs = Components.classes["@mozilla.org/preferences-service;1"]
|
||||
+ .getService(Components.interfaces.nsIPrefBranch);
|
||||
+ var updateEnabled = prefs.getBoolPref("app.update.enabled", true);
|
||||
checkForUpdates.setAttribute("disabled", !canUpdate);
|
||||
+ checkForUpdates.setAttribute("hidden", !canUpdate || !updateEnabled);
|
||||
+ var updateSeparator = document.getElementById("menu_HelpAfterUpdatesSeparator");
|
||||
+ updateSeparator.setAttribute("hidden", !canUpdate || !updateEnabled);
|
||||
if (!canUpdate)
|
||||
return;
|
||||
|
||||
diff --git a/mail/components/preferences/advanced.js b/mail/components/preferences/advanced.js
|
||||
--- a/mail/components/preferences/advanced.js
|
||||
+++ b/mail/components/preferences/advanced.js
|
||||
@@ -238,6 +238,7 @@ var gAdvancedPane = {
|
||||
var enableAppUpdate = document.getElementById("enableAppUpdate");
|
||||
|
||||
enableAppUpdate.disabled = !aus.canUpdate || enabledPref.locked;
|
||||
+ enableAppUpdate.hidden = !aus.canUpdate || !enabledPref.value;
|
||||
},
|
||||
|
||||
updateAutoItems: function ()
|
59
thunderbird-shared-nss-db.patch
Normal file
59
thunderbird-shared-nss-db.patch
Normal file
@ -0,0 +1,59 @@
|
||||
--- mail/app/Makefile.in.orig 2009-02-26 11:02:11.000000000 +0100
|
||||
+++ mail/app/Makefile.in 2009-02-26 11:04:00.000000000 +0100
|
||||
@@ -129,6 +129,7 @@
|
||||
$(EXTRA_DSO_LIBS) \
|
||||
$(APP_XPCOM_LIBS) \
|
||||
$(NSPR_LIBS) \
|
||||
+ $(NSSHELPER_LIBS) \
|
||||
$(TK_LIBS) \
|
||||
$(NULL)
|
||||
|
||||
Index: config/autoconf.mk.in
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/config/autoconf.mk.in,v
|
||||
retrieving revision 3.464
|
||||
diff -u -p -6 -r3.464 autoconf.mk.in
|
||||
--- config/autoconf.mk.in 18 Sep 2008 22:00:51 -0000 3.464
|
||||
+++ config/autoconf.mk.in 19 Nov 2008 10:12:46 -0000
|
||||
@@ -532,12 +532,16 @@ GLIB_CFLAGS = @GLIB_CFLAGS@
|
||||
GLIB_LIBS = @GLIB_LIBS@
|
||||
GLIB_GMODULE_LIBS = @GLIB_GMODULE_LIBS@
|
||||
LIBIDL_CFLAGS = @LIBIDL_CFLAGS@
|
||||
LIBIDL_LIBS = @LIBIDL_LIBS@
|
||||
STATIC_LIBIDL = @STATIC_LIBIDL@
|
||||
|
||||
+MOZ_ENABLE_NSSHELPER = @MOZ_ENABLE_NSSHELPER@
|
||||
+NSSHELPER_CFLAGS = @NSSHELPER_CFLAGS@
|
||||
+NSSHELPER_LIBS = @NSSHELPER_LIBS@
|
||||
+
|
||||
MOZ_NATIVE_MAKEDEPEND = @SYSTEM_MAKEDEPEND@
|
||||
|
||||
# Used for LD_LIBRARY_PATH
|
||||
LIBS_PATH = @LIBS_PATH@
|
||||
|
||||
MOZ_AUTO_DEPS = @MOZ_AUTO_DEPS@
|
||||
--- configure.in.orig 2009-05-11 19:50:11.000000000 +0200
|
||||
+++ configure.in 2009-05-11 19:49:35.000000000 +0200
|
||||
@@ -7028,6 +7028,22 @@ QCMS_LIBS='$(DEPTH)/mozilla/gfx/qcms/$(L
|
||||
AC_SUBST(QCMS_LIBS)
|
||||
|
||||
dnl ========================================================
|
||||
+dnl Check for nss-shared-helper
|
||||
+dnl ========================================================
|
||||
+
|
||||
+ PKG_CHECK_MODULES(NSSHELPER, nss-shared-helper,
|
||||
+ [MOZ_ENABLE_NSSHELPER=1],
|
||||
+ [MOZ_ENABLE_NSSHELPER=])
|
||||
+
|
||||
+if test "$MOZ_ENABLE_NSSHELPER"; then
|
||||
+ AC_DEFINE(MOZ_ENABLE_NSSHELPER)
|
||||
+fi
|
||||
+AC_SUBST(MOZ_ENABLE_NSSHELPER)
|
||||
+AC_SUBST(NSSHELPER_CFLAGS)
|
||||
+AC_SUBST(NSSHELPER_LIBS)
|
||||
+
|
||||
+
|
||||
+dnl ========================================================
|
||||
dnl disable xul
|
||||
dnl ========================================================
|
||||
MOZ_ARG_DISABLE_BOOL(xul,
|
Loading…
Reference in New Issue
Block a user