OBS User unknown 2007-02-25 22:32:56 +00:00 committed by Git OBS Bridge
parent 43f0c7abd0
commit 70fd5cdd4b
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

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.
# This file and all modifications and additions to the pristine
@ -25,8 +25,8 @@ Obsoletes: MozillaFirebird <= 1.0.7
%if %sles_version == 10
Obsoletes: mozilla
%endif
Version: 2.0
Release: 43
Version: 2.0.0.2
Release: 1
Summary: Mozilla Firefox Web Browser
URL: http://www.mozilla.org/
Group: Productivity/Networking/Web/Browsers
@ -69,6 +69,7 @@ Patch11: gnome-vfs.patch
Patch12: misc.dif
Patch13: nss-opt.patch
Patch14: credits.patch
Patch15: em-356370.patch
# bmo #273524 (only for NLD)
Patch16: gnome-vfs-default.patch
# integration
@ -91,7 +92,7 @@ Patch33: proxy-dev.patch
Patch34: skin-selection.patch
Patch36: greasemonkey.patch
Patch37: make-perl.patch
Patch38: 358797.patch
Patch38: tango-maxversion.patch
# pango-cairo.patch dbus.patch startup.patch
Patch100: configure.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -194,6 +195,7 @@ cd $RPM_BUILD_DIR/mozilla
%patch12
%patch13
%patch14
%patch15
%patch17
%patch18
%patch19
@ -211,8 +213,9 @@ cd $RPM_BUILD_DIR/mozilla
%patch33
%patch34
%patch36
%patch37
pushd $RPM_BUILD_DIR
%patch38
popd
%patch100
%if %has_system_nss
#%patch101
@ -312,7 +315,7 @@ for locale in $(cat browser/locales/all-locales); do
# 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
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
;;
*)
@ -538,7 +541,35 @@ exit 0
%defattr(-,root,root)
%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
- Fixup the Gnome paths, keeping in closer sync with the
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
@@ -2250,8 +2250,10 @@
@@ -2251,8 +2251,10 @@ pref("print.postscript.print_command", "
pref("print.postscript.nativefont.ar", "");
pref("print.postscript.nativefont.el", "");
pref("print.postscript.nativefont.he", "");
@ -13,7 +15,7 @@
pref("print.postscript.nativefont.th", "");
pref("print.postscript.nativefont.tr", "");
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-user-def", "");
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,
see: \fIhttp://www.mozilla.org/unix/remote.html\fR
.TP
.B \-no-remote
Don't try to control an already running instance.
.TP
.B \-jsconsole
Start with Javascript Console
.TP
@ -102,6 +105,9 @@ Open URL in a new tab if Firefox is already running.
\fB\-preferences\fR
Open Firefox preferences menu.
.TP
.B \-safe-mode
Disables extensions and themes for this session.
.TP
.SH FILES
\fI/usr/bin/firefox\fR - shell script wrapping
@ -111,7 +117,7 @@ Open Firefox preferences menu.
executable
.SH VERSION
1.5
2.0
.SH BUGS
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
oid sha256:0b6d85090c1d464c570fb198e12d59f27081f0db6f295c7a71d28281e11e4781
size 11407982
oid sha256:53d23397422034b8742a42ea836f533d58e5b560daa6c3f8bd75d3069d167030
size 9939337

View File

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