OBS User unknown 2007-02-25 22:32:56 +00:00 committed by Git OBS Bridge
parent 8ed4ee9898
commit 2107a986ed
12 changed files with 304 additions and 159 deletions

View File

@ -1,37 +0,0 @@
Index: parser/htmlparser/src/nsParser.cpp
===================================================================
RCS file: /cvsroot/mozilla/parser/htmlparser/src/nsParser.cpp,v
retrieving revision 3.370.4.4
diff -u -p -6 -r3.370.4.4 nsParser.cpp
--- parser/htmlparser/src/nsParser.cpp 13 Jul 2006 17:28:08 -0000 3.370.4.4
+++ parser/htmlparser/src/nsParser.cpp 1 Nov 2006 23:28:14 -0000
@@ -1870,19 +1870,27 @@ nsParser::ParseFragment(const nsAString&
if (NS_FAILED(result)) {
mFlags |= NS_PARSER_FLAG_OBSERVERS_ENABLED;
return result;
}
nsCOMPtr<nsIFragmentContentSink> fragSink = do_QueryInterface(mSink);
- NS_ASSERTION(fragSink, "ParseFragment requires a fragment content sink");
+ if (!fragSink) {
+ NS_ERROR("ParseFragment requires a fragment content sink");
+ mFlags |= NS_PARSER_FLAG_OBSERVERS_ENABLED;
+ return kUnknownError;
+ }
if (!aXMLMode) {
// First, we have to flush any tags that don't belong in the head if there
// was no <body> in the context.
// XXX This is extremely ugly. Maybe CNavDTD should have FlushMisplaced()?
- NS_ASSERTION(mParserContext, "Parsing didn't create a parser context?");
+ if (!mParserContext) {
+ NS_ERROR("Parsing didn't create a parser context?");
+ mFlags |= NS_PARSER_FLAG_OBSERVERS_ENABLED;
+ return kInvalidParserContext;
+ }
nsCOMPtr<CNavDTD> dtd = do_QueryInterface(mParserContext->mDTD);
if (dtd) {
CStartToken bodyToken(NS_LITERAL_STRING("BODY"), eHTMLTag_body);
nsCParserNode bodyNode(&bodyToken, 0);

View File

@ -1,3 +1,34 @@
-------------------------------------------------------------------
Wed Feb 21 16:37:25 CST 2007 - maw@suse.de
- Security update to 2.0.0.2 (#244923), which covers:
+ mfsa2007-01
* CVE-2007-0775 - layout engine crashes
* CVE-2007-0776 - SVG
* CVE-2007-0777 - javascript engine corruption
+ mfsa2007-02
* CVE-2007-0995 - Invalid trailing characters in HTML tag attributes
* CVE-2007-0996 - Child frame character set inheritance
* CVE-2006-6077 - Injected password forms
+ mfsa2007-02
+ mfsa2007-03
* CVE-2007-0078
+ mfsa2007-04
* CVE-2007-0079
+ mfsa2007-05
* CVE-2007-0780
* CVE-2007-0800
+ mfsa2007-06
* CVE-2007-0008 - client flaw
* CVE-2007-0009 - server flaw
+ mfsa2007-07
* CVE-2007-0981
- Updates mozilla.sh.in (#230681)
- Fixes #232209
- Updates the man page (#243037)
- Properly propagates exit codes (#241492)
- Adds em-356370.patch (#217374)
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Jan 25 10:16:56 CST 2007 - maw@suse.de Thu Jan 25 10:16:56 CST 2007 - maw@suse.de

View File

@ -1,5 +1,5 @@
# #
# spec file for package MozillaFirefox (Version 2.0) # spec file for package MozillaFirefox (Version 2.0.0.2)
# #
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine # This file and all modifications and additions to the pristine
@ -25,8 +25,8 @@ Obsoletes: MozillaFirebird <= 1.0.7
%if %sles_version == 10 %if %sles_version == 10
Obsoletes: mozilla Obsoletes: mozilla
%endif %endif
Version: 2.0 Version: 2.0.0.2
Release: 43 Release: 1
Summary: Mozilla Firefox Web Browser Summary: Mozilla Firefox Web Browser
URL: http://www.mozilla.org/ URL: http://www.mozilla.org/
Group: Productivity/Networking/Web/Browsers Group: Productivity/Networking/Web/Browsers
@ -69,6 +69,7 @@ Patch11: gnome-vfs.patch
Patch12: misc.dif Patch12: misc.dif
Patch13: nss-opt.patch Patch13: nss-opt.patch
Patch14: credits.patch Patch14: credits.patch
Patch15: em-356370.patch
# bmo #273524 (only for NLD) # bmo #273524 (only for NLD)
Patch16: gnome-vfs-default.patch Patch16: gnome-vfs-default.patch
# integration # integration
@ -91,7 +92,7 @@ Patch33: proxy-dev.patch
Patch34: skin-selection.patch Patch34: skin-selection.patch
Patch36: greasemonkey.patch Patch36: greasemonkey.patch
Patch37: make-perl.patch Patch37: make-perl.patch
Patch38: 358797.patch Patch38: tango-maxversion.patch
# pango-cairo.patch dbus.patch startup.patch # pango-cairo.patch dbus.patch startup.patch
Patch100: configure.patch Patch100: configure.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -194,6 +195,7 @@ cd $RPM_BUILD_DIR/mozilla
%patch12 %patch12
%patch13 %patch13
%patch14 %patch14
%patch15
%patch17 %patch17
%patch18 %patch18
%patch19 %patch19
@ -211,8 +213,9 @@ cd $RPM_BUILD_DIR/mozilla
%patch33 %patch33
%patch34 %patch34
%patch36 %patch36
%patch37 pushd $RPM_BUILD_DIR
%patch38 %patch38
popd
%patch100 %patch100
%if %has_system_nss %if %has_system_nss
#%patch101 #%patch101
@ -312,7 +315,7 @@ for locale in $(cat browser/locales/all-locales); do
# Removed he since it's broken # Removed he since it's broken
#for locale in ar bg ca cs da de el en-GB es-AR es-ES eu fi fr ga-IE hu it ja ko lt mk nb-NO nl pl pt-BR ro ru sk sl sv-SE tr zh-CN zh-TW ; do #for locale in ar bg ca cs da de el en-GB es-AR es-ES eu fi fr ga-IE hu it ja ko lt mk nb-NO nl pl pt-BR ro ru sk sl sv-SE tr zh-CN zh-TW ; do
case $locale in case $locale in
he|hy-AM|ro|sq) en-ZA|ja-JP-mac|hy-AM|he|hr|hy-AM|nr|nso|ro|sq|ss|st|tn|ts|ve|xh|zu)
# broken locales, do not work # broken locales, do not work
;; ;;
*) *)
@ -538,7 +541,35 @@ exit 0
%defattr(-,root,root) %defattr(-,root,root)
%endif %endif
%changelog -n MozillaFirefox %changelog
* Wed Feb 21 2007 - maw@suse.de
- Security update to 2.0.0.2 (#244923), which covers:
+ mfsa2007-01
* CVE-2007-0775 - layout engine crashes
* CVE-2007-0776 - SVG
* CVE-2007-0777 - javascript engine corruption
+ mfsa2007-02
* CVE-2007-0995 - Invalid trailing characters in HTML tag attributes
* CVE-2007-0996 - Child frame character set inheritance
* CVE-2006-6077 - Injected password forms
+ mfsa2007-02
+ mfsa2007-03
* CVE-2007-0078
+ mfsa2007-04
* CVE-2007-0079
+ mfsa2007-05
* CVE-2007-0780
* CVE-2007-0800
+ mfsa2007-06
* CVE-2007-0008 - client flaw
* CVE-2007-0009 - server flaw
+ mfsa2007-07
* CVE-2007-0981
- Updates mozilla.sh.in (#230681)
- Fixes #232209
- Updates the man page (#243037)
- Properly propagates exit codes (#241492)
- Adds em-356370.patch (#217374)
* Thu Jan 25 2007 - maw@suse.de * Thu Jan 25 2007 - maw@suse.de
- Fixup the Gnome paths, keeping in closer sync with the - Fixup the Gnome paths, keeping in closer sync with the
buildservice. buildservice.

View File

@ -1,6 +1,8 @@
--- modules/libpref/src/init/all.js Index: modules/libpref/src/init/all.js
===================================================================
--- modules/libpref/src/init/all.js.orig
+++ modules/libpref/src/init/all.js +++ modules/libpref/src/init/all.js
@@ -2250,8 +2250,10 @@ @@ -2251,8 +2251,10 @@ pref("print.postscript.print_command", "
pref("print.postscript.nativefont.ar", ""); pref("print.postscript.nativefont.ar", "");
pref("print.postscript.nativefont.el", ""); pref("print.postscript.nativefont.el", "");
pref("print.postscript.nativefont.he", ""); pref("print.postscript.nativefont.he", "");
@ -13,7 +15,7 @@
pref("print.postscript.nativefont.th", ""); pref("print.postscript.nativefont.th", "");
pref("print.postscript.nativefont.tr", ""); pref("print.postscript.nativefont.tr", "");
pref("print.postscript.nativefont.x-baltic", ""); pref("print.postscript.nativefont.x-baltic", "");
@@ -2260,8 +2262,10 @@ @@ -2261,8 +2263,10 @@ pref("print.postscript.nativefont.x-cyri
pref("print.postscript.nativefont.x-unicode", ""); pref("print.postscript.nativefont.x-unicode", "");
pref("print.postscript.nativefont.x-user-def", ""); pref("print.postscript.nativefont.x-user-def", "");
pref("print.postscript.nativefont.x-western", ""); pref("print.postscript.nativefont.x-western", "");

25
em-356370.patch Normal file
View File

@ -0,0 +1,25 @@
References:
https://bugzilla.novell.com/show_bug.cgi?id=217374
https://bugzilla.mozilla.org/show_bug.cgi?id=356370
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.60
diff -u -p -6 -r1.144.2.60 nsExtensionManager.js.in
--- toolkit/mozapps/extensions/src/nsExtensionManager.js.in 17 Sep 2006 22:17:11 -0000 1.144.2.60
+++ toolkit/mozapps/extensions/src/nsExtensionManager.js.in 29 Nov 2006 07:54:31 -0000
@@ -4008,12 +4008,13 @@ ExtensionManager.prototype = {
for (var i = 0; i < allItems.length; ++i) {
var item = allItems[i];
// An item entry is valid only if it is not disabled, not about to
// be disabled, and not about to be uninstalled.
var installLocation = this.getInstallLocation(item.id);
+ if (! installLocation) continue;
if (installLocation.name in StartupCache.entries &&
item.id in StartupCache.entries[installLocation.name] &&
StartupCache.entries[installLocation.name][item.id]) {
var op = StartupCache.entries[installLocation.name][item.id].op;
if (op == OP_NEEDS_INSTALL || op == OP_NEEDS_UPGRADE ||
op == OP_NEEDS_UNINSTALL || op == OP_NEEDS_DISABLE)

View File

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

View File

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

View File

@ -87,6 +87,9 @@ Start with \fIlang-region\fR resources.
Execute \fIcommand\fR in an already running Firefox process. For more info, Execute \fIcommand\fR in an already running Firefox process. For more info,
see: \fIhttp://www.mozilla.org/unix/remote.html\fR see: \fIhttp://www.mozilla.org/unix/remote.html\fR
.TP .TP
.B \-no-remote
Don't try to control an already running instance.
.TP
.B \-jsconsole .B \-jsconsole
Start with Javascript Console Start with Javascript Console
.TP .TP
@ -102,6 +105,9 @@ Open URL in a new tab if Firefox is already running.
\fB\-preferences\fR \fB\-preferences\fR
Open Firefox preferences menu. Open Firefox preferences menu.
.TP .TP
.B \-safe-mode
Disables extensions and themes for this session.
.TP
.SH FILES .SH FILES
\fI/usr/bin/firefox\fR - shell script wrapping \fI/usr/bin/firefox\fR - shell script wrapping
@ -111,7 +117,7 @@ Open Firefox preferences menu.
executable executable
.SH VERSION .SH VERSION
1.5 2.0
.SH BUGS .SH BUGS
To report a bug, please visit \fIhttp://bugzilla.mozilla.org/\fR To report a bug, please visit \fIhttp://bugzilla.mozilla.org/\fR

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:0b6d85090c1d464c570fb198e12d59f27081f0db6f295c7a71d28281e11e4781 oid sha256:53d23397422034b8742a42ea836f533d58e5b560daa6c3f8bd75d3069d167030
size 11407982 size 9939337

View File

@ -1,30 +1,47 @@
#!/bin/sh #!/bin/sh
# #
# The contents of this file are subject to the Netscape Public # ***** BEGIN LICENSE BLOCK *****
# License Version 1.1 (the "License"); you may not use this file # Version: MPL 1.1/GPL 2.0/LGPL 2.1
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
# #
# Software distributed under the License is distributed on an "AS # The contents of this file are subject to the Mozilla Public License Version
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or # 1.1 (the "License"); you may not use this file except in compliance with
# implied. See the License for the specific language governing # the License. You may obtain a copy of the License at
# rights and limitations under the License. # 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 # The Original Code is mozilla.org Code.
# Communications Corporation. Portions created by Netscape are #
# Copyright (C) 1998 Netscape Communications Corporation. All # The Initial Developer of the Original Code is
# Rights Reserved. # Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
# #
# Contributor(s): # Contributor(s):
# Wolfgang Rosenauer <wolfgang.rosenauer@suse.de> # 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: ## Usage:
## ##
## $ mozilla ## $ mozilla [args]
## ##
## This script is meant to run a mozilla program from the mozilla ## This script is meant to run a mozilla program from the mozilla
## rpm installation. ## rpm installation.
@ -150,16 +167,51 @@ moz_pis_startstop_scripts()
esac esac
} }
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
;;
*)
# 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
## Start addon scripts ## Start addon scripts
moz_pis_startstop_scripts "start" moz_pis_startstop_scripts "start"
if [ -d /proc/asound ]; then if [ $moz_debug -eq 1 ]; then
LD_PRELOAD=/usr/$LIB/libaoss.so${LD_PRELOAD:+:$LD_PRELOAD} $MOZ_PROGRAM $@ 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 else
$MOZ_PROGRAM $@ if [ -d /proc/asound ]; then
export LD_PRELOAD=/usr/$LIB/libaoss.so${LD_PRELOAD:+:$LD_PRELOAD}
fi
$MOZ_PROGRAM "$@"
fi fi
exitcode=$?
unset LD_PRELOAD
## Stop addon scripts ## Stop addon scripts
moz_pis_startstop_scripts "stop" moz_pis_startstop_scripts "stop"
exit 0 exit $exitcode

View File

@ -4,11 +4,11 @@ References:
https://bugzilla.novell.com/show_bug.cgi?id=115417 https://bugzilla.novell.com/show_bug.cgi?id=115417
https://bugzilla.mozilla.org/show_bug.cgi?id=223492 https://bugzilla.mozilla.org/show_bug.cgi?id=223492
Index: configure.in Index: config/autoconf.mk.in
================================================================================ ===================================================================
--- config/autoconf.mk.in --- config/autoconf.mk.in.orig
+++ config/autoconf.mk.in +++ config/autoconf.mk.in
@@ -223,6 +223,10 @@ @@ -223,6 +223,10 @@ MOZ_ENABLE_GNOMEUI = @MOZ_ENABLE_GNOMEUI
MOZ_GNOMEUI_CFLAGS = @MOZ_GNOMEUI_CFLAGS@ MOZ_GNOMEUI_CFLAGS = @MOZ_GNOMEUI_CFLAGS@
MOZ_GNOMEUI_LIBS = @MOZ_GNOMEUI_LIBS@ MOZ_GNOMEUI_LIBS = @MOZ_GNOMEUI_LIBS@
@ -19,9 +19,11 @@ Index: configure.in
MOZ_GNOMEVFS_CFLAGS = @MOZ_GNOMEVFS_CFLAGS@ MOZ_GNOMEVFS_CFLAGS = @MOZ_GNOMEVFS_CFLAGS@
MOZ_GNOMEVFS_LIBS = @MOZ_GNOMEVFS_LIBS@ MOZ_GNOMEVFS_LIBS = @MOZ_GNOMEVFS_LIBS@
--- configure.in Index: configure.in
===================================================================
--- configure.in.orig
+++ configure.in +++ configure.in
@@ -125,6 +125,7 @@ @@ -125,6 +125,7 @@ GNOMEVFS_VERSION=2.0
GNOMEUI_VERSION=2.2.0 GNOMEUI_VERSION=2.2.0
GCONF_VERSION=1.2.1 GCONF_VERSION=1.2.1
LIBGNOME_VERSION=2.0 LIBGNOME_VERSION=2.0
@ -29,7 +31,7 @@ Index: configure.in
dnl Set various checks dnl Set various checks
dnl ======================================================== dnl ========================================================
@@ -4088,6 +4089,42 @@ @@ -4088,6 +4089,42 @@ fi # COMPILE_ENVIRONMENT
AC_SUBST(MOZ_DEFAULT_TOOLKIT) AC_SUBST(MOZ_DEFAULT_TOOLKIT)
@ -72,9 +74,11 @@ Index: configure.in
AC_SUBST(GTK_CONFIG) AC_SUBST(GTK_CONFIG)
AC_SUBST(TK_CFLAGS) AC_SUBST(TK_CFLAGS)
AC_SUBST(TK_LIBS) AC_SUBST(TK_LIBS)
--- toolkit/components/remote/Makefile.in Index: toolkit/components/remote/Makefile.in
===================================================================
--- toolkit/components/remote/Makefile.in.orig
+++ toolkit/components/remote/Makefile.in +++ toolkit/components/remote/Makefile.in
@@ -56,8 +56,9 @@ @@ -56,8 +56,9 @@ REQUIRES = \
string \ string \
appcomps \ appcomps \
toolkitcomps \ toolkitcomps \
@ -85,7 +89,9 @@ Index: configure.in
widget \ widget \
gfx \ gfx \
dom \ dom \
--- toolkit/components/remote/nsGTKRemoteService.cpp Index: toolkit/components/remote/nsGTKRemoteService.cpp
===================================================================
--- toolkit/components/remote/nsGTKRemoteService.cpp.orig
+++ toolkit/components/remote/nsGTKRemoteService.cpp +++ toolkit/components/remote/nsGTKRemoteService.cpp
@@ -50,7 +50,7 @@ @@ -50,7 +50,7 @@
@ -116,7 +122,7 @@ Index: configure.in
#define MOZILLA_VERSION_PROP "_MOZILLA_VERSION" #define MOZILLA_VERSION_PROP "_MOZILLA_VERSION"
#define MOZILLA_LOCK_PROP "_MOZILLA_LOCK" #define MOZILLA_LOCK_PROP "_MOZILLA_LOCK"
#define MOZILLA_COMMAND_PROP "_MOZILLA_COMMAND" #define MOZILLA_COMMAND_PROP "_MOZILLA_COMMAND"
@@ -155,20 +161,44 @@ @@ -155,20 +161,44 @@ nsGTKRemoteService::StartupHandler(const
return PL_DHASH_NEXT; return PL_DHASH_NEXT;
} }
@ -165,7 +171,7 @@ Index: configure.in
NS_ENSURE_TRUE(mainWidget, NS_ERROR_FAILURE); NS_ENSURE_TRUE(mainWidget, NS_ERROR_FAILURE);
// walk up the widget tree and find the toplevel window in the // walk up the widget tree and find the toplevel window in the
@@ -260,7 +290,7 @@ @@ -260,7 +290,7 @@ nsGTKRemoteService::EnsureAtoms(void)
#ifndef MOZ_XUL_APP #ifndef MOZ_XUL_APP
const char* const char*
@ -174,7 +180,7 @@ Index: configure.in
{ {
nsresult rv; nsresult rv;
@@ -283,8 +313,60 @@ @@ -283,8 +313,60 @@ nsGTKRemoteService::HandleCommand(char*
} }
#else //MOZ_XUL_APP #else //MOZ_XUL_APP
@ -236,7 +242,7 @@ Index: configure.in
{ {
nsresult rv; nsresult rv;
@@ -314,6 +396,12 @@ @@ -314,6 +396,12 @@ nsGTKRemoteService::HandleCommand(char*
#endif #endif
if (!command.EqualsLiteral("ping")) { if (!command.EqualsLiteral("ping")) {
@ -249,7 +255,7 @@ Index: configure.in
char* argv[3] = {"dummyappname", "-remote", aCommand}; char* argv[3] = {"dummyappname", "-remote", aCommand};
rv = cmdline->Init(3, argv, nsnull, nsICommandLine::STATE_REMOTE_EXPLICIT); rv = cmdline->Init(3, argv, nsnull, nsICommandLine::STATE_REMOTE_EXPLICIT);
if (NS_FAILED(rv)) if (NS_FAILED(rv))
@@ -322,6 +410,8 @@ @@ -322,6 +410,8 @@ nsGTKRemoteService::HandleCommand(char*
if (aWindow) if (aWindow)
cmdline->SetWindowContext(aWindow); cmdline->SetWindowContext(aWindow);
@ -258,7 +264,7 @@ Index: configure.in
rv = cmdline->Run(); rv = cmdline->Run();
if (NS_ERROR_ABORT == rv) if (NS_ERROR_ABORT == rv)
return "500 command not parseable"; return "500 command not parseable";
@@ -333,7 +423,8 @@ @@ -333,7 +423,8 @@ nsGTKRemoteService::HandleCommand(char*
} }
const char* const char*
@ -268,7 +274,7 @@ Index: configure.in
{ {
nsresult rv; nsresult rv;
@@ -364,6 +455,8 @@ @@ -364,6 +455,8 @@ nsGTKRemoteService::HandleCommandLine(ch
if (NS_FAILED(rv)) if (NS_FAILED(rv))
return "509 internal error"; return "509 internal error";
@ -277,7 +283,7 @@ Index: configure.in
char **argv = (char**) malloc(sizeof(char*) * argc); char **argv = (char**) malloc(sizeof(char*) * argc);
if (!argv) return "509 internal error"; if (!argv) return "509 internal error";
@@ -372,6 +465,12 @@ @@ -372,6 +465,12 @@ nsGTKRemoteService::HandleCommandLine(ch
for (int i = 0; i < argc; ++i) { for (int i = 0; i < argc; ++i) {
argv[i] = aBuffer + TO_LITTLE_ENDIAN32(offset[i]); argv[i] = aBuffer + TO_LITTLE_ENDIAN32(offset[i]);
@ -290,7 +296,7 @@ Index: configure.in
#ifdef DEBUG_bsmedberg #ifdef DEBUG_bsmedberg
printf(" argv[%i]:\t%s\n", i, argv[i]); printf(" argv[%i]:\t%s\n", i, argv[i]);
#endif #endif
@@ -386,7 +485,10 @@ @@ -386,7 +485,10 @@ nsGTKRemoteService::HandleCommandLine(ch
if (aWindow) if (aWindow)
cmdline->SetWindowContext(aWindow); cmdline->SetWindowContext(aWindow);
@ -301,7 +307,7 @@ Index: configure.in
if (NS_ERROR_ABORT == rv) if (NS_ERROR_ABORT == rv)
return "500 command not parseable"; return "500 command not parseable";
@@ -486,7 +588,7 @@ @@ -486,7 +588,7 @@ nsGTKRemoteService::HandlePropertyChange
return FALSE; return FALSE;
// cool, we got the property data. // cool, we got the property data.
@ -310,7 +316,7 @@ Index: configure.in
// put the property onto the window as the response // put the property onto the window as the response
XChangeProperty (GDK_DISPLAY(), GDK_WINDOW_XWINDOW(pevent->window), XChangeProperty (GDK_DISPLAY(), GDK_WINDOW_XWINDOW(pevent->window),
@@ -531,7 +633,7 @@ @@ -531,7 +633,7 @@ nsGTKRemoteService::HandlePropertyChange
return FALSE; return FALSE;
// cool, we got the property data. // cool, we got the property data.
@ -319,9 +325,11 @@ Index: configure.in
// put the property onto the window as the response // put the property onto the window as the response
XChangeProperty (GDK_DISPLAY(), GDK_WINDOW_XWINDOW(pevent->window), XChangeProperty (GDK_DISPLAY(), GDK_WINDOW_XWINDOW(pevent->window),
--- toolkit/components/remote/nsGTKRemoteService.h Index: toolkit/components/remote/nsGTKRemoteService.h
===================================================================
--- toolkit/components/remote/nsGTKRemoteService.h.orig
+++ toolkit/components/remote/nsGTKRemoteService.h +++ toolkit/components/remote/nsGTKRemoteService.h
@@ -80,10 +80,12 @@ @@ -80,10 +80,12 @@ private:
nsIWeakReference* aData, nsIWeakReference* aData,
void* aClosure); void* aClosure);
@ -336,9 +344,11 @@ Index: configure.in
#endif #endif
static gboolean HandlePropertyChange(GtkWidget *widget, static gboolean HandlePropertyChange(GtkWidget *widget,
--- toolkit/library/Makefile.in Index: toolkit/library/Makefile.in
===================================================================
--- toolkit/library/Makefile.in.orig
+++ toolkit/library/Makefile.in +++ toolkit/library/Makefile.in
@@ -344,6 +344,10 @@ @@ -350,6 +350,10 @@ ifneq (,$(filter gtk gtk2 qt xlib,$(MOZ_
EXTRA_DSO_LDOPTS += $(XLDFLAGS) $(XLIBS) $(MOZ_GTK_LDFLAGS) $(MOZ_XFT_LIBS) $(MOZ_GTK2_LIBS) $(XT_LIBS) EXTRA_DSO_LDOPTS += $(XLDFLAGS) $(XLIBS) $(MOZ_GTK_LDFLAGS) $(MOZ_XFT_LIBS) $(MOZ_GTK2_LIBS) $(XT_LIBS)
endif endif
@ -349,9 +359,11 @@ Index: configure.in
ifdef MOZ_ENABLE_XPRINT ifdef MOZ_ENABLE_XPRINT
EXTRA_DSO_LDOPTS += $(MOZ_XPRINT_LDFLAGS) EXTRA_DSO_LDOPTS += $(MOZ_XPRINT_LDFLAGS)
endif endif
--- toolkit/xre/Makefile.in Index: toolkit/xre/Makefile.in
===================================================================
--- toolkit/xre/Makefile.in.orig
+++ toolkit/xre/Makefile.in +++ toolkit/xre/Makefile.in
@@ -69,6 +69,7 @@ @@ -69,6 +69,7 @@ REQUIRES = \
shellservice \ shellservice \
string \ string \
uriloader \ uriloader \
@ -359,17 +371,19 @@ Index: configure.in
widget \ widget \
windowwatcher \ windowwatcher \
xpcom \ xpcom \
--- toolkit/xre/nsAppRunner.cpp Index: toolkit/xre/nsAppRunner.cpp
===================================================================
--- toolkit/xre/nsAppRunner.cpp.orig
+++ toolkit/xre/nsAppRunner.cpp +++ toolkit/xre/nsAppRunner.cpp
@@ -96,6 +96,7 @@ @@ -96,6 +96,7 @@
#include "nsIWindowWatcher.h" #include "nsIWindowWatcher.h"
#include "nsIXULAppInfo.h" #include "nsIXULAppInfo.h"
#include "nsIXULRuntime.h" #include "nsIXULRuntime.h"
+#include "nsIScriptGlobalObject.h" +#include "nsIScriptGlobalObject.h"
#ifdef XP_WIN
#include "nsCRT.h" #include "nsIWinAppHelper.h"
#include "nsCOMPtr.h" #endif
@@ -112,6 +113,12 @@ @@ -115,6 +116,12 @@
#include "nsXULAppAPI.h" #include "nsXULAppAPI.h"
#include "nsXREDirProvider.h" #include "nsXREDirProvider.h"
#include "nsToolkitCompsCID.h" #include "nsToolkitCompsCID.h"
@ -382,7 +396,7 @@ Index: configure.in
#include "nsINIParser.h" #include "nsINIParser.h"
@@ -249,6 +256,9 @@ @@ -262,6 +269,9 @@ static char **gRestartArgv;
#if defined(MOZ_WIDGET_GTK) || defined(MOZ_WIDGET_GTK2) #if defined(MOZ_WIDGET_GTK) || defined(MOZ_WIDGET_GTK2)
#include <gtk/gtk.h> #include <gtk/gtk.h>
#endif //MOZ_WIDGET_GTK || MOZ_WIDGET_GTK2 #endif //MOZ_WIDGET_GTK || MOZ_WIDGET_GTK2
@ -392,7 +406,7 @@ Index: configure.in
#if defined(MOZ_WIDGET_QT) #if defined(MOZ_WIDGET_QT)
#include <qapplication.h> #include <qapplication.h>
@@ -916,7 +926,7 @@ @@ -1105,7 +1115,7 @@ DumpVersion()
// use int here instead of a PR type since it will be returned // use int here instead of a PR type since it will be returned
// from main - just to keep types consistent // from main - just to keep types consistent
static int static int
@ -401,7 +415,7 @@ Index: configure.in
{ {
nsresult rv; nsresult rv;
ArgResult ar; ArgResult ar;
@@ -957,7 +967,7 @@ @@ -1146,7 +1156,7 @@ HandleRemoteArgument(const char* remote)
nsXPIDLCString response; nsXPIDLCString response;
PRBool success = PR_FALSE; PRBool success = PR_FALSE;
rv = client.SendCommand(program.get(), username, profile, remote, rv = client.SendCommand(program.get(), username, profile, remote,
@ -410,7 +424,7 @@ Index: configure.in
// did the command fail? // did the command fail?
if (NS_FAILED(rv)) { if (NS_FAILED(rv)) {
PR_fprintf(PR_STDERR, "Error: Failed to send command: %s\n", PR_fprintf(PR_STDERR, "Error: Failed to send command: %s\n",
@@ -974,7 +984,7 @@ @@ -1163,7 +1173,7 @@ HandleRemoteArgument(const char* remote)
} }
static PRBool static PRBool
@ -419,7 +433,7 @@ Index: configure.in
{ {
nsresult rv; nsresult rv;
ArgResult ar; ArgResult ar;
@@ -1006,7 +1016,7 @@ @@ -1195,7 +1205,7 @@ RemoteCommandLine()
nsXPIDLCString response; nsXPIDLCString response;
PRBool success = PR_FALSE; PRBool success = PR_FALSE;
rv = client.SendCommandLine(program.get(), username, nsnull, rv = client.SendCommandLine(program.get(), username, nsnull,
@ -428,7 +442,7 @@ Index: configure.in
getter_Copies(response), &success); getter_Copies(response), &success);
// did the command fail? // did the command fail?
if (NS_FAILED(rv) || !success) if (NS_FAILED(rv) || !success)
@@ -1865,6 +1875,41 @@ @@ -2080,6 +2090,41 @@ public:
#ifdef MOZ_WIDGET_GTK2 #ifdef MOZ_WIDGET_GTK2
#include "prlink.h" #include "prlink.h"
typedef void (*_g_set_application_name_fn)(const gchar *application_name); typedef void (*_g_set_application_name_fn)(const gchar *application_name);
@ -470,7 +484,7 @@ Index: configure.in
#endif #endif
int int
@@ -2033,6 +2078,19 @@ @@ -2248,6 +2293,19 @@ XRE_main(int argc, char* argv[], const n
return 0; return 0;
} }
@ -490,7 +504,7 @@ Index: configure.in
#if defined(MOZ_WIDGET_GTK) || defined(MOZ_WIDGET_GTK2) #if defined(MOZ_WIDGET_GTK) || defined(MOZ_WIDGET_GTK2)
// setup for private colormap. Ideally we'd like to do this // setup for private colormap. Ideally we'd like to do this
// in nsAppShell::Create, but we need to get in before gtk // in nsAppShell::Create, but we need to get in before gtk
@@ -2058,6 +2116,7 @@ @@ -2273,6 +2331,7 @@ XRE_main(int argc, char* argv[], const n
if (glib2) { if (glib2) {
PR_UnloadLibrary(glib2); PR_UnloadLibrary(glib2);
} }
@ -498,7 +512,7 @@ Index: configure.in
#endif #endif
gtk_widget_set_default_visual(gdk_rgb_get_visual()); gtk_widget_set_default_visual(gdk_rgb_get_visual());
@@ -2122,12 +2181,12 @@ @@ -2337,12 +2396,12 @@ XRE_main(int argc, char* argv[], const n
return 1; return 1;
} }
if (ar) { if (ar) {
@ -513,7 +527,7 @@ Index: configure.in
return 0; return 0;
} }
#endif #endif
@@ -2329,6 +2388,13 @@ @@ -2586,6 +2645,13 @@ XRE_main(int argc, char* argv[], const n
NS_TIMELINE_LEAVE("appStartup->CreateHiddenWindow"); NS_TIMELINE_LEAVE("appStartup->CreateHiddenWindow");
NS_ENSURE_SUCCESS(rv, 1); NS_ENSURE_SUCCESS(rv, 1);
@ -527,7 +541,7 @@ Index: configure.in
// Extension Compatibility Checking and Startup // Extension Compatibility Checking and Startup
if (gAppData->flags & NS_XRE_ENABLE_EXTENSION_MANAGER) { if (gAppData->flags & NS_XRE_ENABLE_EXTENSION_MANAGER) {
nsCOMPtr<nsIExtensionManager> em(do_GetService("@mozilla.org/extensions/manager;1")); nsCOMPtr<nsIExtensionManager> em(do_GetService("@mozilla.org/extensions/manager;1"));
@@ -2505,9 +2571,28 @@ @@ -2766,9 +2832,28 @@ XRE_main(int argc, char* argv[], const n
} }
#endif #endif
@ -546,7 +560,7 @@ Index: configure.in
+ } + }
+#endif +#endif
+ +
rv = LaunchChild(nativeApp, appInitiatedRestart); rv = LaunchChild(nativeApp, appInitiatedRestart, upgraded ? -1 : 0);
return rv == NS_ERROR_LAUNCHED_CHILD_PROCESS ? 0 : 1; return rv == NS_ERROR_LAUNCHED_CHILD_PROCESS ? 0 : 1;
} }
@ -556,9 +570,11 @@ Index: configure.in
+ +
return NS_FAILED(rv) ? 1 : 0; return NS_FAILED(rv) ? 1 : 0;
} }
--- widget/src/gtk2/Makefile.in Index: widget/src/gtk2/Makefile.in
===================================================================
--- widget/src/gtk2/Makefile.in.orig
+++ widget/src/gtk2/Makefile.in +++ widget/src/gtk2/Makefile.in
@@ -97,6 +97,7 @@ @@ -97,6 +97,7 @@ EXTRA_DSO_LDOPTS += \
$(MOZ_COMPONENT_LIBS) \ $(MOZ_COMPONENT_LIBS) \
-lgkgfx \ -lgkgfx \
-lgtkxtbin \ -lgtkxtbin \
@ -566,7 +582,7 @@ Index: configure.in
$(XLDFLAGS) \ $(XLDFLAGS) \
$(XLIBS) \ $(XLIBS) \
$(MOZ_GTK2_LIBS) $(MOZ_GTK2_LIBS)
@@ -107,14 +108,15 @@ @@ -107,14 +108,15 @@ endif
EXPORTS = \ EXPORTS = \
nsIGdkPixbufImage.h \ nsIGdkPixbufImage.h \
@ -584,7 +600,9 @@ Index: configure.in
DEFINES += -DUSE_XIM DEFINES += -DUSE_XIM
--- widget/src/gtk2/nsGTKToolkit.h Index: widget/src/gtk2/nsGTKToolkit.h
===================================================================
--- /dev/null
+++ widget/src/gtk2/nsGTKToolkit.h +++ widget/src/gtk2/nsGTKToolkit.h
@@ -0,0 +1,87 @@ @@ -0,0 +1,87 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
@ -674,7 +692,9 @@ Index: configure.in
+}; +};
+ +
+#endif // GTKTOOLKIT_H +#endif // GTKTOOLKIT_H
--- widget/src/gtk2/nsToolkit.cpp Index: widget/src/gtk2/nsToolkit.cpp
===================================================================
--- widget/src/gtk2/nsToolkit.cpp.orig
+++ widget/src/gtk2/nsToolkit.cpp +++ widget/src/gtk2/nsToolkit.cpp
@@ -38,7 +38,7 @@ @@ -38,7 +38,7 @@
* ***** END LICENSE BLOCK ***** */ * ***** END LICENSE BLOCK ***** */
@ -685,7 +705,7 @@ Index: configure.in
// //
// Static thread local storage index of the Toolkit // Static thread local storage index of the Toolkit
@@ -51,9 +51,10 @@ @@ -51,9 +51,10 @@ static PRUintn gToolkitTLSIndex = 0;
// constructor // constructor
// //
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
@ -697,7 +717,7 @@ Index: configure.in
} }
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
@@ -61,7 +62,7 @@ @@ -61,7 +62,7 @@ nsToolkit::nsToolkit()
// destructor // destructor
// //
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
@ -706,7 +726,7 @@ Index: configure.in
{ {
if (mSharedGC) { if (mSharedGC) {
gdk_gc_unref(mSharedGC); gdk_gc_unref(mSharedGC);
@@ -77,9 +78,9 @@ @@ -77,9 +78,9 @@ nsToolkit::~nsToolkit()
// //
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
@ -718,7 +738,7 @@ Index: configure.in
{ {
GdkPixmap *pixmap; GdkPixmap *pixmap;
@@ -91,7 +92,7 @@ @@ -91,7 +92,7 @@ void nsToolkit::CreateSharedGC(void)
gdk_pixmap_unref(pixmap); gdk_pixmap_unref(pixmap);
} }
@ -727,7 +747,7 @@ Index: configure.in
{ {
return gdk_gc_ref(mSharedGC); return gdk_gc_ref(mSharedGC);
} }
@@ -100,7 +101,7 @@ @@ -100,7 +101,7 @@ GdkGC *nsToolkit::GetSharedGC(void)
// //
// //
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
@ -736,7 +756,7 @@ Index: configure.in
{ {
CreateSharedGC(); CreateSharedGC();
@@ -135,7 +136,7 @@ @@ -135,7 +136,7 @@ NS_METHOD NS_GetCurrentToolkit(nsIToolki
// Create a new toolkit for this thread... // Create a new toolkit for this thread...
// //
if (!toolkit) { if (!toolkit) {
@ -745,7 +765,9 @@ Index: configure.in
if (!toolkit) { if (!toolkit) {
rv = NS_ERROR_OUT_OF_MEMORY; rv = NS_ERROR_OUT_OF_MEMORY;
--- widget/src/gtk2/nsWindow.cpp Index: widget/src/gtk2/nsWindow.cpp
===================================================================
--- widget/src/gtk2/nsWindow.cpp.orig
+++ widget/src/gtk2/nsWindow.cpp +++ widget/src/gtk2/nsWindow.cpp
@@ -40,7 +40,7 @@ @@ -40,7 +40,7 @@
#include "prlink.h" #include "prlink.h"
@ -768,7 +790,7 @@ Index: configure.in
#include "gtk2xtbin.h" #include "gtk2xtbin.h"
#include "nsIPrefService.h" #include "nsIPrefService.h"
@@ -655,6 +660,70 @@ @@ -660,6 +665,70 @@ nsWindow::Enable(PRBool aState)
return NS_ERROR_NOT_IMPLEMENTED; return NS_ERROR_NOT_IMPLEMENTED;
} }
@ -839,24 +861,18 @@ Index: configure.in
NS_IMETHODIMP NS_IMETHODIMP
nsWindow::SetFocus(PRBool aRaise) nsWindow::SetFocus(PRBool aRaise)
{ {
@@ -675,10 +744,15 @@ @@ -680,6 +749,10 @@ nsWindow::SetFocus(PRBool aRaise)
// set properly. // set properly.
GtkWidget *toplevelWidget = gtk_widget_get_toplevel(owningWidget); GtkWidget *toplevelWidget = gtk_widget_get_toplevel(owningWidget);
+ if (toplevelWidget && aRaise) { + if (toplevelWidget && aRaise) {
+ SetUserTimeAndStartupIDForActivatedWindow(toplevelWidget); + SetUserTimeAndStartupIDForActivatedWindow(toplevelWidget);
+ } + }
+ +
if (gRaiseWindows && aRaise && toplevelWidget && if (gRaiseWindows && aRaise && toplevelWidget &&
!GTK_WIDGET_HAS_FOCUS(owningWidget) && !GTK_WIDGET_HAS_FOCUS(owningWidget) &&
- !GTK_WIDGET_HAS_FOCUS(toplevelWidget)) !GTK_WIDGET_HAS_FOCUS(toplevelWidget)) {
+ !GTK_WIDGET_HAS_FOCUS(toplevelWidget)) { @@ -1167,7 +1240,7 @@ nsWindow::GetNativeData(PRUint32 aDataTy
GetAttention(-1);
+ }
nsWindow *owningWindow = get_window_for_gtk_widget(owningWidget);
if (!owningWindow)
@@ -1147,7 +1221,7 @@
case NS_NATIVE_GRAPHIC: { case NS_NATIVE_GRAPHIC: {
NS_ASSERTION(nsnull != mToolkit, "NULL toolkit, unable to get a GC"); NS_ASSERTION(nsnull != mToolkit, "NULL toolkit, unable to get a GC");
@ -865,7 +881,7 @@ Index: configure.in
break; break;
} }
@@ -2755,7 +2829,7 @@ @@ -2802,7 +2875,7 @@ nsWindow::NativeShow (PRBool aAction)
// is shown. // is shown.
// XXX that may or may not be true for GTK+ 2.x // XXX that may or may not be true for GTK+ 2.x
if (mTransparencyBitmap) { if (mTransparencyBitmap) {
@ -874,7 +890,7 @@ Index: configure.in
} }
// unset our flag now that our window has been shown // unset our flag now that our window has been shown
@@ -2765,6 +2839,11 @@ @@ -2812,6 +2885,11 @@ nsWindow::NativeShow (PRBool aAction)
moz_drawingarea_set_visibility(mDrawingarea, aAction); moz_drawingarea_set_visibility(mDrawingarea, aAction);
gtk_widget_show(GTK_WIDGET(mContainer)); gtk_widget_show(GTK_WIDGET(mContainer));
gtk_widget_show(mShell); gtk_widget_show(mShell);
@ -886,9 +902,11 @@ Index: configure.in
} }
else if (mContainer) { else if (mContainer) {
moz_drawingarea_set_visibility(mDrawingarea, TRUE); moz_drawingarea_set_visibility(mDrawingarea, TRUE);
--- widget/src/xremoteclient/XRemoteClient.cpp Index: widget/src/xremoteclient/XRemoteClient.cpp
===================================================================
--- widget/src/xremoteclient/XRemoteClient.cpp.orig
+++ widget/src/xremoteclient/XRemoteClient.cpp +++ widget/src/xremoteclient/XRemoteClient.cpp
@@ -173,6 +173,7 @@ @@ -173,6 +173,7 @@ XRemoteClient::Shutdown (void)
nsresult nsresult
XRemoteClient::SendCommand (const char *aProgram, const char *aUsername, XRemoteClient::SendCommand (const char *aProgram, const char *aUsername,
const char *aProfile, const char *aCommand, const char *aProfile, const char *aCommand,
@ -896,7 +914,7 @@ Index: configure.in
char **aResponse, PRBool *aWindowFound) char **aResponse, PRBool *aWindowFound)
{ {
PR_LOG(sRemoteLm, PR_LOG_DEBUG, ("XRemoteClient::SendCommand")); PR_LOG(sRemoteLm, PR_LOG_DEBUG, ("XRemoteClient::SendCommand"));
@@ -198,7 +199,7 @@ @@ -198,7 +199,7 @@ XRemoteClient::SendCommand (const char *
if (NS_SUCCEEDED(rv)) { if (NS_SUCCEEDED(rv)) {
// send our command // send our command
@ -905,7 +923,7 @@ Index: configure.in
// if the window was destroyed, don't bother trying to free the // if the window was destroyed, don't bother trying to free the
// lock. // lock.
@@ -217,6 +218,7 @@ @@ -217,6 +218,7 @@ nsresult
XRemoteClient::SendCommandLine (const char *aProgram, const char *aUsername, XRemoteClient::SendCommandLine (const char *aProgram, const char *aUsername,
const char *aProfile, const char *aProfile,
PRInt32 argc, char **argv, PRInt32 argc, char **argv,
@ -913,7 +931,7 @@ Index: configure.in
char **aResponse, PRBool *aWindowFound) char **aResponse, PRBool *aWindowFound)
{ {
PR_LOG(sRemoteLm, PR_LOG_DEBUG, ("XRemoteClient::SendCommandLine")); PR_LOG(sRemoteLm, PR_LOG_DEBUG, ("XRemoteClient::SendCommandLine"));
@@ -242,7 +244,7 @@ @@ -242,7 +244,7 @@ XRemoteClient::SendCommandLine (const ch
if (NS_SUCCEEDED(rv)) { if (NS_SUCCEEDED(rv)) {
// send our command // send our command
@ -922,7 +940,7 @@ Index: configure.in
// if the window was destroyed, don't bother trying to free the // if the window was destroyed, don't bother trying to free the
// lock. // lock.
@@ -643,6 +645,7 @@ @@ -643,6 +645,7 @@ XRemoteClient::FreeLock(Window aWindow)
nsresult nsresult
XRemoteClient::DoSendCommand(Window aWindow, const char *aCommand, XRemoteClient::DoSendCommand(Window aWindow, const char *aCommand,
@ -930,7 +948,7 @@ Index: configure.in
char **aResponse, PRBool *aDestroyed) char **aResponse, PRBool *aDestroyed)
{ {
*aDestroyed = PR_FALSE; *aDestroyed = PR_FALSE;
@@ -651,9 +654,28 @@ @@ -651,9 +654,28 @@ XRemoteClient::DoSendCommand(Window aWin
("(writing " MOZILLA_COMMAND_PROP " \"%s\" to 0x%x)\n", ("(writing " MOZILLA_COMMAND_PROP " \"%s\" to 0x%x)\n",
aCommand, (unsigned int) aWindow)); aCommand, (unsigned int) aWindow));
@ -961,7 +979,7 @@ Index: configure.in
if (!WaitForResponse(aWindow, aResponse, aDestroyed, mMozCommandAtom)) if (!WaitForResponse(aWindow, aResponse, aDestroyed, mMozCommandAtom))
return NS_ERROR_FAILURE; return NS_ERROR_FAILURE;
@@ -663,7 +685,7 @@ @@ -663,7 +685,7 @@ XRemoteClient::DoSendCommand(Window aWin
/* like strcpy, but return the char after the final null */ /* like strcpy, but return the char after the final null */
static char* static char*
@ -970,7 +988,7 @@ Index: configure.in
{ {
while (*s) while (*s)
*d++ = *s++; *d++ = *s++;
@@ -674,6 +696,7 @@ @@ -674,6 +696,7 @@ estrcpy(char* s, char* d)
nsresult nsresult
XRemoteClient::DoSendCommandLine(Window aWindow, PRInt32 argc, char **argv, XRemoteClient::DoSendCommandLine(Window aWindow, PRInt32 argc, char **argv,
@ -978,7 +996,7 @@ Index: configure.in
char **aResponse, PRBool *aDestroyed) char **aResponse, PRBool *aDestroyed)
{ {
int i; int i;
@@ -690,9 +713,16 @@ @@ -690,9 +713,16 @@ XRemoteClient::DoSendCommandLine(Window
// [argc][offsetargv0][offsetargv1...]<workingdir>\0<argv[0]>\0argv[1]...\0 // [argc][offsetargv0][offsetargv1...]<workingdir>\0<argv[0]>\0argv[1]...\0
// (offset is from the beginning of the buffer) // (offset is from the beginning of the buffer)
@ -997,7 +1015,7 @@ Index: configure.in
PRInt32* buffer = (PRInt32*) malloc(argvlen + argc + 1 + PRInt32* buffer = (PRInt32*) malloc(argvlen + argc + 1 +
sizeof(PRInt32) * (argc + 1)); sizeof(PRInt32) * (argc + 1));
@@ -708,6 +738,10 @@ @@ -708,6 +738,10 @@ XRemoteClient::DoSendCommandLine(Window
for (int i = 0; i < argc; ++i) { for (int i = 0; i < argc; ++i) {
buffer[i + 1] = TO_LITTLE_ENDIAN32(bufend - ((char*) buffer)); buffer[i + 1] = TO_LITTLE_ENDIAN32(bufend - ((char*) buffer));
bufend = estrcpy(argv[i], bufend); bufend = estrcpy(argv[i], bufend);
@ -1008,9 +1026,11 @@ Index: configure.in
} }
#ifdef DEBUG_bsmedberg #ifdef DEBUG_bsmedberg
--- widget/src/xremoteclient/XRemoteClient.h Index: widget/src/xremoteclient/XRemoteClient.h
===================================================================
--- widget/src/xremoteclient/XRemoteClient.h.orig
+++ widget/src/xremoteclient/XRemoteClient.h +++ widget/src/xremoteclient/XRemoteClient.h
@@ -48,10 +48,12 @@ @@ -48,10 +48,12 @@ public:
virtual nsresult Init(); virtual nsresult Init();
virtual nsresult SendCommand(const char *aProgram, const char *aUsername, virtual nsresult SendCommand(const char *aProgram, const char *aUsername,
const char *aProfile, const char *aCommand, const char *aProfile, const char *aCommand,
@ -1023,7 +1043,7 @@ Index: configure.in
char **aResponse, PRBool *aSucceeded); char **aResponse, PRBool *aSucceeded);
void Shutdown(); void Shutdown();
@@ -67,10 +69,12 @@ @@ -67,10 +69,12 @@ private:
PRBool aSupportsCommandLine); PRBool aSupportsCommandLine);
nsresult DoSendCommand (Window aWindow, nsresult DoSendCommand (Window aWindow,
const char *aCommand, const char *aCommand,
@ -1036,7 +1056,9 @@ Index: configure.in
char **aResponse, char **aResponse,
PRBool *aDestroyed); PRBool *aDestroyed);
PRBool WaitForResponse (Window aWindow, char **aResponse, PRBool WaitForResponse (Window aWindow, char **aResponse,
--- widget/src/xremoteclient/mozilla-xremote-client.cpp Index: widget/src/xremoteclient/mozilla-xremote-client.cpp
===================================================================
--- widget/src/xremoteclient/mozilla-xremote-client.cpp.orig
+++ widget/src/xremoteclient/mozilla-xremote-client.cpp +++ widget/src/xremoteclient/mozilla-xremote-client.cpp
@@ -40,6 +40,7 @@ @@ -40,6 +40,7 @@
#include <stdlib.h> #include <stdlib.h>
@ -1046,7 +1068,7 @@ Index: configure.in
#ifdef MOZ_WIDGET_PHOTON #ifdef MOZ_WIDGET_PHOTON
#include "PhRemoteClient.h" #include "PhRemoteClient.h"
#else #else
@@ -99,7 +100,7 @@ @@ -99,7 +100,7 @@ int main(int argc, char **argv)
// send the command - it doesn't get any easier than this // send the command - it doesn't get any easier than this
PRBool success = PR_FALSE; PRBool success = PR_FALSE;
char *error = 0; char *error = 0;
@ -1055,9 +1077,11 @@ Index: configure.in
&error, &success); &error, &success);
// failed to send command // failed to send command
--- widget/src/xremoteclient/nsRemoteClient.h Index: widget/src/xremoteclient/nsRemoteClient.h
===================================================================
--- widget/src/xremoteclient/nsRemoteClient.h.orig
+++ widget/src/xremoteclient/nsRemoteClient.h +++ widget/src/xremoteclient/nsRemoteClient.h
@@ -85,6 +85,7 @@ @@ -85,6 +85,7 @@ public:
*/ */
virtual nsresult SendCommand(const char *aProgram, const char *aUsername, virtual nsresult SendCommand(const char *aProgram, const char *aUsername,
const char *aProfile, const char *aCommand, const char *aProfile, const char *aCommand,
@ -1065,7 +1089,7 @@ Index: configure.in
char **aResponse, PRBool *aSucceeded) = 0; char **aResponse, PRBool *aSucceeded) = 0;
/** /**
@@ -97,6 +98,7 @@ @@ -97,6 +98,7 @@ public:
virtual nsresult SendCommandLine(const char *aProgram, const char *aUsername, virtual nsresult SendCommandLine(const char *aProgram, const char *aUsername,
const char *aProfile, const char *aProfile,
PRInt32 argc, char **argv, PRInt32 argc, char **argv,

11
tango-maxversion.patch Normal file
View File

@ -0,0 +1,11 @@
--- tango@novell.com/install.rdf 2006-11-27 19:40:24.000000000 +0100
+++ tango@novell.com/install.rdf.new 2006-12-19 23:22:41.846376000 +0100
@@ -14,7 +14,7 @@
<Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>1.9</em:minVersion>
- <em:maxVersion>2.0</em:maxVersion>
+ <em:maxVersion>2.0.0.*</em:maxVersion>
</Description>
</em:targetApplication>