diff options
author | Joe Marcus Clarke <marcus@FreeBSD.org> | 2003-04-04 07:04:20 +0000 |
---|---|---|
committer | Joe Marcus Clarke <marcus@FreeBSD.org> | 2003-04-04 07:04:20 +0000 |
commit | 1b62fc23b58adb56fe5075128702bb1ae0fff678 (patch) | |
tree | 8fe74233045e0f61979f7b76a64df97ab7976263 /www/mozilla | |
parent | We no longer need to run fc-cache here as this will be done by Xft. Also, (diff) |
* Update to 1.3
* Default to building with -O2 optimizations [1]
* Fix a bug where dead keys could not be used [2]
PR: 49010 [2]
Obtained from: www/phoenix [1]
http://bugzilla.mozilla.org/show_bug.cgi?id=176713 [2]
Notes
Notes:
svn path=/head/; revision=78102
Diffstat (limited to 'www/mozilla')
-rw-r--r-- | www/mozilla/Makefile | 46 | ||||
-rw-r--r-- | www/mozilla/distinfo | 5 | ||||
-rw-r--r-- | www/mozilla/files/mozilla_12b_patch | 953 | ||||
-rw-r--r-- | www/mozilla/files/patch-config_rules.mk | 15 | ||||
-rw-r--r-- | www/mozilla/files/patch-nsprpub_pr_src_misc_prtime.c | 18 | ||||
-rw-r--r-- | www/mozilla/files/patch-other-licenses_libical_src_libical_Makefile.in | 11 | ||||
-rw-r--r-- | www/mozilla/files/patch-qt | 16 | ||||
-rw-r--r-- | www/mozilla/files/xim_dekita2.patch | 517 |
8 files changed, 588 insertions, 993 deletions
diff --git a/www/mozilla/Makefile b/www/mozilla/Makefile index e5f73de8c6d5..1dbd257cf310 100644 --- a/www/mozilla/Makefile +++ b/www/mozilla/Makefile @@ -6,8 +6,7 @@ # PORTNAME?= mozilla -PORTVERSION= 1.2.1 -PORTREVISION?= 1 +PORTVERSION= 1.3 PORTEPOCH?= 2 CATEGORIES?= www MASTER_SITES= ${MASTER_SITE_MOZILLA} \ @@ -15,7 +14,7 @@ MASTER_SITES= ${MASTER_SITE_MOZILLA} \ MASTER_SITE_SUBDIR= mozilla/releases/${PORTNAME}${PORTVERSION:S/.rc/rc/}/src \ marcus/:local DISTFILES= ${PORTNAME}-source-${PORTVERSION:S/.rc/rc/}${EXTRACT_SUFX} \ - libart_lgpl-${PORTVERSION}${EXTRACT_SUFX}:local + libart_lgpl${EXTRACT_SUFX}:local MAINTAINER= gnome@FreeBSD.org COMMENT= The open source, standards compliant web browser @@ -31,13 +30,12 @@ WRKSRC= ${WRKDIR}/${PORTNAME} MOZILLA?= mozilla -WITHOUT_CHATZILLA= "Contains a buffer overflow reported at http://online.securityfocus.com/archive/1/270249" - .if defined(WITH_GTK2) LIB_DEPENDS+= gtk-x11-2.0.200:${PORTSDIR}/x11-toolkits/gtk20 \ ORBit-2.0:${PORTSDIR}/devel/ORBit2 .else -USE_GNOME= gtk12 +USE_GNOMENG= yes +USE_GNOME= gtk12 orbit .endif .if !defined(WITHOUT_XFT) @@ -48,13 +46,17 @@ BROKEN= Mozilla and Xft2 render the mozilla-fonts \ .endif .endif +.if defined(WITH_CALENDAR) && (defined(WITHOUT_MAILNEWS) || \ + defined(WITHOUT_COMPOSER)) +BROKEN= "Calendar requires Composer and Mailnews support." +.endif + .if defined(WITH_CALENDAR) -DISTFILES+= ${PORTNAME}-calendar-${PORTVERSION}${EXTRACT_SUFX}:local LIB_DEPENDS+= ical.0:${PORTSDIR}/devel/libical .endif -USE_BZIP2= yes LATEST_LINK= ${MOZILLA} +USE_BZIP2= yes EXTRACT_AFTER_ARGS= | ${TAR} -xf - --exclude */CVS/* \ --exclude */macbuild/*\ --exclude */package/* \ @@ -77,22 +79,19 @@ CONFIGURE_ARGS= \ --enable-mathml \ --disable-md \ --disable-pedantic \ + --disable-bidi \ --disable-plaintext-editor-only \ --enable-strip \ --enable-svg \ --disable-tests \ --disable-xterm-updates \ --enable-xinerama \ + --with-system-zlib \ --with-system-jpeg=${LOCALBASE} \ --with-system-mng=${LOCALBASE} \ --with-system-png=${LOCALBASE} \ --with-pthreads -.if !defined(WITH_GTK2) -USE_GNOMENG= yes -USE_GNOME+= orbit -.endif - PLIST= ${WRKDIR}/pkg-plist # LDAP is only used by mail and news so disable both together .if defined(WITHOUT_MAILNEWS) @@ -116,6 +115,9 @@ CONFIGURE_ENV= MOZ_INTERNAL_LIBART_LGPL=1 .if defined(WITH_JAVASCRIPT_DEBUGGER) CONFIGURE_ARGS+= --enable-jsd \ --enable-dtd-debug +.else +CONFIGURE_ARGS+= --disable-jsd \ + --disable-dtd-debug .endif .if defined(WITH_CALENDAR) @@ -129,9 +131,9 @@ CONFIGURE_ARGS+= --disable-composer .if defined(WITH_GTK2) CONFIGURE_ARGS+= --enable-default-toolkit=gtk2 -EXTRA_PATCHES= ${FILESDIR}/mozilla_12b_patch PKGCONFIG_FILES= mozilla-gtkmozembed.pc mozilla-js.pc mozilla-xpcom.pc \ mozilla-nspr.pc mozilla-nss.pc +EXTRA_PATCHES= ${FILESDIR}/xim_dekita2.patch .else CONFIGURE_ARGS+= --enable-default-toolkit=gtk .endif @@ -150,7 +152,12 @@ ALL_TARGET= default CONFIGURE_ARGS+= --enable-reorder .endif +.if !defined(WITHOUT_OPTIMIZE) && ${ARCH} != "alpha" +CFLAGS+= -O2 +.endif + .if ${ARCH} == "alpha" +CFLAGS+= -O0 BROKEN= "core dumps on alpha during post-build" .endif @@ -159,6 +166,17 @@ BROKEN="You must upgrade your freetype port to 1.3.1_2 or higher before installi .endif pre-everything:: + @${ECHO_MSG} "" + @${ECHO_MSG} "Mozilla has the following tunable option(s):" + @${ECHO_MSG} " WITHOUT_XFT=yes Disables Xft anti-aliasing support" + @${ECHO_MSG} " WITH_CALENDAR=yes Enables the Calendar module (requires Mailnews and Composer modules)" + @${ECHO_MSG} " WITHOUT_MAILNEWS=yes Disables the Mail and News modules" + @${ECHO_MSG} " WITHOUT_COMPOSER=yes Disables the HTML Composer module" + @${ECHO_MSG} " WITHOUT_LDAP=yes Disables LDAP support within the Mailnews module" + @${ECHO_MSG} " WITHOUT_CHATZILLA=yes Disable the Chatzilla IRC module" + @${ECHO_MSG} " WITH_JAVASCRIPT_DEBUGGER=yes Enable the DTD and JavaScript debuggers" + @${ECHO_MSG} " WITHOUT_OPTIMIZE=yes Disable -O2 optimization" + @${ECHO_MSG} "" .if defined(WITH_CALENDAR) @${ECHO_MSG} "Calendar is still beta software." @${ECHO_MSG} "Use at your own risk." diff --git a/www/mozilla/distinfo b/www/mozilla/distinfo index bc387f0eaf53..07510d8e3686 100644 --- a/www/mozilla/distinfo +++ b/www/mozilla/distinfo @@ -1,3 +1,2 @@ -MD5 (mozilla-source-1.2.1.tar.bz2) = 58c37a29ef2fae2939f5be116abec32a -MD5 (libart_lgpl-1.2.1.tar.bz2) = f332c3c026adc1c2c0ceb3ac5847d5f5 -MD5 (mozilla-calendar-1.2.1.tar.bz2) = f0ae0bb5e4d7a5b0049dd23534f86002 +MD5 (mozilla-source-1.3.tar.bz2) = 4c5a27b5ba39f16d83159d0256ad9147 +MD5 (libart_lgpl.tar.bz2) = f332c3c026adc1c2c0ceb3ac5847d5f5 diff --git a/www/mozilla/files/mozilla_12b_patch b/www/mozilla/files/mozilla_12b_patch deleted file mode 100644 index 7ab44168c025..000000000000 --- a/www/mozilla/files/mozilla_12b_patch +++ /dev/null @@ -1,953 +0,0 @@ -Index: Makefile.in -=================================================================== -RCS file: /cvsroot/mozilla/Makefile.in,v -retrieving revision 1.197 -diff -u -r1.197 Makefile.in ---- Makefile.in 15 Oct 2002 23:34:32 -0000 1.197 -+++ Makefile.in 22 Oct 2002 17:14:59 -0000 -@@ -267,6 +267,10 @@ - tier_99_dirs += embedding/browser/gtk/tests - endif - -+ifdef MOZ_ENABLE_GTK2 -+tier_99_dirs += embedding/browser/gtk/tests -+endif -+ - endif # BUILD_MODULES == all - - STATIC_MAKEFILES := nsprpub directory/c-sdk -Index: embedding/browser/Makefile.in -=================================================================== -RCS file: /cvsroot/mozilla/embedding/browser/Makefile.in,v -retrieving revision 1.10 -diff -u -r1.10 Makefile.in ---- embedding/browser/Makefile.in 18 Dec 2001 09:10:33 -0000 1.10 -+++ embedding/browser/Makefile.in 22 Oct 2002 17:14:59 -0000 -@@ -31,6 +31,10 @@ - DIRS += gtk - endif - -+ifdef MOZ_ENABLE_GTK2 -+DIRS += gtk -+endif -+ - ifdef MOZ_ENABLE_PHOTON - DIRS += photon - endif -Index: embedding/browser/gtk/src/EmbedProgress.cpp -=================================================================== -RCS file: /cvsroot/mozilla/embedding/browser/gtk/src/EmbedProgress.cpp,v -retrieving revision 1.10 -diff -u -r1.10 EmbedProgress.cpp ---- embedding/browser/gtk/src/EmbedProgress.cpp 7 Sep 2002 17:09:12 -0000 1.10 -+++ embedding/browser/gtk/src/EmbedProgress.cpp 22 Oct 2002 17:14:59 -0000 -@@ -80,8 +80,8 @@ - } - gtk_signal_emit(GTK_OBJECT(mOwner->mOwningWidget), - moz_embed_signals[NET_STATE_ALL], -- (const char *)uriString, aStateFlags, aStatus); -- -+ (gpointer)(const char *)uriString, -+ (gint)aStateFlags, (gint)aStatus); - // and for stop, too - if ((aStateFlags & GTK_MOZ_EMBED_FLAG_IS_NETWORK) && - (aStateFlags & GTK_MOZ_EMBED_FLAG_STOP)) -Index: embedding/browser/gtk/src/EmbedWindow.cpp -=================================================================== -RCS file: /cvsroot/mozilla/embedding/browser/gtk/src/EmbedWindow.cpp,v -retrieving revision 1.26 -diff -u -r1.26 EmbedWindow.cpp ---- embedding/browser/gtk/src/EmbedWindow.cpp 7 Sep 2002 17:09:12 -0000 1.26 -+++ embedding/browser/gtk/src/EmbedWindow.cpp 22 Oct 2002 17:14:59 -0000 -@@ -226,9 +226,11 @@ - { - GtkWidget* parent = GTK_WIDGET(mOwner->mOwningWidget)->parent; - -+#ifdef MOZ_WIDGET_GTK - if (GTK_IS_CONTAINER(parent)) - gtk_container_focus(GTK_CONTAINER(parent), - GTK_DIR_TAB_FORWARD); -+#endif - return NS_OK; - } - -@@ -237,9 +239,11 @@ - { - GtkWidget* parent = GTK_WIDGET(mOwner->mOwningWidget)->parent; - -+#ifdef MOZ_WIDGET_GTK - if (GTK_IS_CONTAINER(parent)) - gtk_container_focus(GTK_CONTAINER(parent), - GTK_DIR_TAB_BACKWARD); -+#endif - return NS_OK; - } - -@@ -405,7 +409,9 @@ - 0, 0, - sTipWindow->allocation.width, sTipWindow->allocation.height); - -+#ifdef MOZ_WIDGET_GTK - gtk_widget_popup(sTipWindow, aXCoords + root_x, aYCoords + root_y); -+#endif /* MOZ_WIDGET_GTK */ - - nsMemory::Free( (void*)tipString ); - -Index: embedding/browser/gtk/src/Makefile.in -=================================================================== -RCS file: /cvsroot/mozilla/embedding/browser/gtk/src/Makefile.in,v -retrieving revision 1.36 -diff -u -r1.36 Makefile.in ---- embedding/browser/gtk/src/Makefile.in 23 Sep 2002 19:13:28 -0000 1.36 -+++ embedding/browser/gtk/src/Makefile.in 22 Oct 2002 17:14:59 -0000 -@@ -56,6 +56,11 @@ - EmbedWindowCreator.cpp \ - EmbedStream.cpp - -+ifdef MOZ_ENABLE_GTK2 -+CSRCS = \ -+ gtkmozembedmarshal.c -+endif -+ - ifdef BUILD_STATIC_LIBS - # Static build stuff - DEFINES += -D_BUILD_STATIC_BIN=1 -@@ -88,13 +93,21 @@ - gtkmozembed.h \ - gtkmozembed_internal.h - -+ifdef MOZ_ENABLE_GTK - EXTRA_DSO_LDOPTS = \ - $(MOZ_COMPONENT_LIBS) \ - $(XPCOM_GLUE_LIBS) \ - -lgtksuperwin \ - $(NULL) -+endif -+ -+ifdef MOZ_ENABLE_GTK2 -+EXTRA_DSO_LDOPTS = \ -+ $(MOZ_COMPONENT_LIBS) \ -+ $(NULL) -+endif - --EXTRA_DSO_LDOPTS += $(MOZ_GTK_LDFLAGS) -+EXTRA_DSO_LDOPTS += $(MOZ_GTK_LDFLAGS) $(MOZ_GTK2_LIBS) - - include $(topsrcdir)/config/rules.mk - -@@ -109,7 +122,8 @@ - endif - endif - --CXXFLAGS += $(MOZ_GTK_CFLAGS) -+CXXFLAGS += $(MOZ_GTK_CFLAGS) $(MOZ_GTK2_CFLAGS) -+CFLAGS += $(MOZ_GTK_CFLAGS) $(MOZ_GTK2_CFLAGS) - - ifdef BUILD_STATIC_LIBS - -Index: embedding/browser/gtk/src/gtkmozembed2.cpp -=================================================================== -RCS file: /cvsroot/mozilla/embedding/browser/gtk/src/gtkmozembed2.cpp,v -retrieving revision 1.23 -diff -u -r1.23 gtkmozembed2.cpp ---- embedding/browser/gtk/src/gtkmozembed2.cpp 12 Jan 2002 05:04:57 -0000 1.23 -+++ embedding/browser/gtk/src/gtkmozembed2.cpp 22 Oct 2002 17:14:59 -0000 -@@ -36,11 +36,37 @@ - #include <nsXPIDLString.h> - #include <nsReadableUtils.h> - -+#ifdef MOZ_WIDGET_GTK -+ - // so we can get callbacks from the mozarea - #include <gtkmozarea.h> - -+// so we get the right marshaler for gtk 1.2 -+#define gtkmozembed_VOID__INT_UINT \ -+ gtk_marshal_NONE__INT_INT -+#define gtkmozembed_VOID__POINTER_INT_INT \ -+ gtk_marshal_NONE__POINTER_INT_INT -+#define gtkmozembed_VOID__POINTER_INT_UINT \ -+ gtk_marshal_NONE__POINTER_INT_INT -+#define gtkmozembed_VOID__POINTER_INT_POINTER \ -+ gtk_marshal_NONE__POINTER_INT_POINTER -+ -+#endif /* MOZ_WIDGET_GTK */ -+ -+#ifdef MOZ_WIDGET_GTK2 -+ -+#define GET_OBJECT_CLASS_TYPE(x) G_OBJECT_CLASS_TYPE(x) -+ -+#include "gtkmozembedmarshal.h" -+ -+#endif /* MOZ_WIDGET_GTK2 */ -+ - class nsIDirectoryServiceProvider; - -+#ifdef MOZ_WIDGET_GTK -+ -+#define GET_OBJECT_CLASS_TYPE(x) (GTK_OBJECT_CLASS(x)->type) -+ - // Some "massaged" enum information for the GTK Type System - static GtkFlagValue gtk_moz_embed_progress_flags_values[] = { - { GTK_MOZ_EMBED_FLAG_START, -@@ -138,6 +164,7 @@ - { 0, - NULL, NULL } - }; -+#endif /* MOZ_WIDGET_GTK */ - - - // class and instance initialization -@@ -180,6 +207,7 @@ - GdkEventFocus *aGdkFocusEvent, - GtkMozEmbed *aEmbed); - -+#ifdef MOZ_WIDGET_GTK - // signal handlers for tracking the focus and and focus out events on - // the toplevel window. - -@@ -189,6 +217,7 @@ - static void - handle_toplevel_focus_out(GtkMozArea *aArea, - GtkMozEmbed *aEmbed); -+#endif /* MOZ_WIDGET_GTK */ - - // globals for this type of widget - -@@ -249,191 +278,193 @@ - moz_embed_signals[LINK_MESSAGE] = - gtk_signal_new ("link_message", - GTK_RUN_FIRST, -- object_class->type, -+ GET_OBJECT_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, link_message), - gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); - moz_embed_signals[JS_STATUS] = - gtk_signal_new ("js_status", - GTK_RUN_FIRST, -- object_class->type, -+ GET_OBJECT_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, js_status), - gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); - moz_embed_signals[LOCATION] = - gtk_signal_new ("location", - GTK_RUN_FIRST, -- object_class->type, -+ GET_OBJECT_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, location), - gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); - moz_embed_signals[TITLE] = - gtk_signal_new("title", - GTK_RUN_FIRST, -- object_class->type, -+ GET_OBJECT_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, title), - gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); - moz_embed_signals[PROGRESS] = - gtk_signal_new("progress", - GTK_RUN_FIRST, -- object_class->type, -+ GET_OBJECT_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, progress), - gtk_marshal_NONE__INT_INT, - GTK_TYPE_NONE, 2, GTK_TYPE_INT, GTK_TYPE_INT); - moz_embed_signals[PROGRESS_ALL] = - gtk_signal_new("progress_all", - GTK_RUN_FIRST, -- object_class->type, -+ GET_OBJECT_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, progress_all), -- gtk_marshal_NONE__POINTER_INT_INT, -+ gtkmozembed_VOID__POINTER_INT_INT, - GTK_TYPE_NONE, 3, GTK_TYPE_STRING, - GTK_TYPE_INT, GTK_TYPE_INT); - moz_embed_signals[NET_STATE] = - gtk_signal_new("net_state", - GTK_RUN_FIRST, -- object_class->type, -+ GET_OBJECT_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, net_state), -- gtk_marshal_NONE__INT_INT, -+ gtkmozembed_VOID__INT_UINT, - GTK_TYPE_NONE, 2, GTK_TYPE_INT, GTK_TYPE_UINT); - moz_embed_signals[NET_STATE_ALL] = - gtk_signal_new("net_state_all", - GTK_RUN_FIRST, -- object_class->type, -+ GET_OBJECT_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, net_state_all), -- gtk_marshal_NONE__POINTER_INT_INT, -+ gtkmozembed_VOID__POINTER_INT_UINT, - GTK_TYPE_NONE, 3, GTK_TYPE_STRING, - GTK_TYPE_INT, GTK_TYPE_UINT); - moz_embed_signals[NET_START] = - gtk_signal_new("net_start", - GTK_RUN_FIRST, -- object_class->type, -+ GET_OBJECT_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, net_start), - gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); - moz_embed_signals[NET_STOP] = - gtk_signal_new("net_stop", - GTK_RUN_FIRST, -- object_class->type, -+ GET_OBJECT_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, net_stop), - gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); - moz_embed_signals[NEW_WINDOW] = - gtk_signal_new("new_window", - GTK_RUN_FIRST, -- object_class->type, -+ GET_OBJECT_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, new_window), - gtk_marshal_NONE__POINTER_UINT, - GTK_TYPE_NONE, 2, GTK_TYPE_POINTER, GTK_TYPE_UINT); - moz_embed_signals[VISIBILITY] = - gtk_signal_new("visibility", - GTK_RUN_FIRST, -- object_class->type, -+ GET_OBJECT_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, visibility), - gtk_marshal_NONE__BOOL, - GTK_TYPE_NONE, 1, GTK_TYPE_BOOL); - moz_embed_signals[DESTROY_BROWSER] = - gtk_signal_new("destroy_browser", - GTK_RUN_FIRST, -- object_class->type, -+ GET_OBJECT_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, destroy_brsr), - gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); - moz_embed_signals[OPEN_URI] = - gtk_signal_new("open_uri", - GTK_RUN_LAST, -- object_class->type, -+ GET_OBJECT_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, open_uri), - gtk_marshal_BOOL__POINTER, - GTK_TYPE_BOOL, 1, GTK_TYPE_STRING); - moz_embed_signals[SIZE_TO] = - gtk_signal_new("size_to", - GTK_RUN_LAST, -- object_class->type, -+ GET_OBJECT_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, size_to), - gtk_marshal_NONE__INT_INT, - GTK_TYPE_NONE, 2, GTK_TYPE_INT, GTK_TYPE_INT); - moz_embed_signals[DOM_KEY_DOWN] = - gtk_signal_new("dom_key_down", - GTK_RUN_LAST, -- object_class->type, -+ GET_OBJECT_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, dom_key_down), - gtk_marshal_BOOL__POINTER, - GTK_TYPE_BOOL, 1, GTK_TYPE_POINTER); - moz_embed_signals[DOM_KEY_PRESS] = - gtk_signal_new("dom_key_press", - GTK_RUN_LAST, -- object_class->type, -+ GET_OBJECT_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, dom_key_press), - gtk_marshal_BOOL__POINTER, - GTK_TYPE_BOOL, 1, GTK_TYPE_POINTER); - moz_embed_signals[DOM_KEY_UP] = - gtk_signal_new("dom_key_up", - GTK_RUN_LAST, -- object_class->type, -+ GET_OBJECT_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, dom_key_up), - gtk_marshal_BOOL__POINTER, - GTK_TYPE_BOOL, 1, GTK_TYPE_POINTER); - moz_embed_signals[DOM_MOUSE_DOWN] = - gtk_signal_new("dom_mouse_down", - GTK_RUN_LAST, -- object_class->type, -+ GET_OBJECT_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, dom_mouse_down), - gtk_marshal_BOOL__POINTER, - GTK_TYPE_BOOL, 1, GTK_TYPE_POINTER); - moz_embed_signals[DOM_MOUSE_UP] = - gtk_signal_new("dom_mouse_up", - GTK_RUN_LAST, -- object_class->type, -+ GET_OBJECT_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, dom_mouse_up), - gtk_marshal_BOOL__POINTER, - GTK_TYPE_BOOL, 1, GTK_TYPE_POINTER); - moz_embed_signals[DOM_MOUSE_CLICK] = - gtk_signal_new("dom_mouse_click", - GTK_RUN_LAST, -- object_class->type, -+ GET_OBJECT_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, dom_mouse_click), - gtk_marshal_BOOL__POINTER, - GTK_TYPE_BOOL, 1, GTK_TYPE_POINTER); - moz_embed_signals[DOM_MOUSE_DBL_CLICK] = - gtk_signal_new("dom_mouse_dbl_click", - GTK_RUN_LAST, -- object_class->type, -+ GET_OBJECT_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, dom_mouse_dbl_click), - gtk_marshal_BOOL__POINTER, - GTK_TYPE_BOOL, 1, GTK_TYPE_POINTER); - moz_embed_signals[DOM_MOUSE_OVER] = - gtk_signal_new("dom_mouse_over", - GTK_RUN_LAST, -- object_class->type, -+ GET_OBJECT_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, dom_mouse_over), - gtk_marshal_BOOL__POINTER, - GTK_TYPE_BOOL, 1, GTK_TYPE_POINTER); - moz_embed_signals[DOM_MOUSE_OUT] = - gtk_signal_new("dom_mouse_out", - GTK_RUN_LAST, -- object_class->type, -+ GET_OBJECT_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, dom_mouse_out), - gtk_marshal_BOOL__POINTER, - GTK_TYPE_BOOL, 1, GTK_TYPE_POINTER); - moz_embed_signals[SECURITY_CHANGE] = - gtk_signal_new("security_change", - GTK_RUN_LAST, -- object_class->type, -+ GET_OBJECT_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, security_change), - gtk_marshal_NONE__POINTER_UINT, - GTK_TYPE_NONE, 2, GTK_TYPE_POINTER, GTK_TYPE_UINT); - moz_embed_signals[STATUS_CHANGE] = - gtk_signal_new("status_change", - GTK_RUN_LAST, -- object_class->type, -+ GET_OBJECT_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, status_change), -- gtk_marshal_NONE__POINTER_INT_POINTER, -+ gtkmozembed_VOID__POINTER_INT_POINTER, - GTK_TYPE_NONE, 3, - GTK_TYPE_POINTER, GTK_TYPE_INT, GTK_TYPE_POINTER); - -+#ifdef MOZ_WIDGET_GTK - gtk_object_class_add_signals(object_class, moz_embed_signals, - EMBED_LAST_SIGNAL); -+#endif /* MOZ_WIDGET_GTK */ - - } - -@@ -538,6 +569,7 @@ - embed, - GTK_OBJECT(child_widget)); - -+#ifdef MOZ_WIDGET_GTK - // connect to the toplevel focus out events for the child - GtkMozArea *mozarea = GTK_MOZAREA(child_widget); - gtk_signal_connect_while_alive(GTK_OBJECT(mozarea), -@@ -551,6 +583,7 @@ - GTK_SIGNAL_FUNC(handle_toplevel_focus_out), - embed, - GTK_OBJECT(mozarea)); -+#endif /* MOZ_WIDGET_GTK */ - } - - static void -@@ -663,6 +696,8 @@ - return FALSE; - } - -+#ifdef MOZ_WIDGET_GTK -+ - static void - handle_toplevel_focus_in (GtkMozArea *aArea, - GtkMozEmbed *aEmbed) -@@ -683,6 +718,8 @@ - embedPrivate->TopLevelFocusOut(); - } - -+#endif /* MOZ_WIDGET_GTK */ -+ - // Widget methods - - void -@@ -1011,6 +1048,8 @@ - return embedPrivate->mChromeMask; - } - -+#ifdef MOZ_WIDGET_GTK -+ - GtkType - gtk_moz_embed_progress_flags_get_type(void) - { -@@ -1059,6 +1098,8 @@ - return chrome_flags_type; - } - -+#endif /* MOZ_WIDGET_GTK */ -+ - void - gtk_moz_embed_get_nsIWebBrowser (GtkMozEmbed *embed, nsIWebBrowser **retval) - { -@@ -1183,14 +1224,16 @@ - moz_embed_single_signals[NEW_WINDOW_ORPHAN] = - gtk_signal_new("new_window_orphan", - GTK_RUN_FIRST, -- object_class->type, -+ GET_OBJECT_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedSingleClass, - new_window_orphan), - gtk_marshal_NONE__POINTER_UINT, - GTK_TYPE_NONE, 2, GTK_TYPE_POINTER, GTK_TYPE_UINT); - -+#ifdef MOZ_WIDGET_GTK - gtk_object_class_add_signals(object_class, moz_embed_single_signals, - SINGLE_LAST_SIGNAL); -+#endif /* MOZ_WIDGET_GTK */ - } - - static void -Index: embedding/browser/gtk/src/gtkmozembedmarshal.c -=================================================================== -RCS file: embedding/browser/gtk/src/gtkmozembedmarshal.c -diff -N embedding/browser/gtk/src/gtkmozembedmarshal.c ---- /dev/null 1 Jan 1970 00:00:00 -0000 -+++ embedding/browser/gtk/src/gtkmozembedmarshal.c 22 Oct 2002 17:14:59 -0000 -@@ -0,0 +1,203 @@ -+ -+#include <glib-object.h> -+ -+ -+#ifdef G_ENABLE_DEBUG -+#define g_marshal_value_peek_boolean(v) g_value_get_boolean (v) -+#define g_marshal_value_peek_char(v) g_value_get_char (v) -+#define g_marshal_value_peek_uchar(v) g_value_get_uchar (v) -+#define g_marshal_value_peek_int(v) g_value_get_int (v) -+#define g_marshal_value_peek_uint(v) g_value_get_uint (v) -+#define g_marshal_value_peek_long(v) g_value_get_long (v) -+#define g_marshal_value_peek_ulong(v) g_value_get_ulong (v) -+#define g_marshal_value_peek_int64(v) g_value_get_int64 (v) -+#define g_marshal_value_peek_uint64(v) g_value_get_uint64 (v) -+#define g_marshal_value_peek_enum(v) g_value_get_enum (v) -+#define g_marshal_value_peek_flags(v) g_value_get_flags (v) -+#define g_marshal_value_peek_float(v) g_value_get_float (v) -+#define g_marshal_value_peek_double(v) g_value_get_double (v) -+#define g_marshal_value_peek_string(v) (char*) g_value_get_string (v) -+#define g_marshal_value_peek_param(v) g_value_get_param (v) -+#define g_marshal_value_peek_boxed(v) g_value_get_boxed (v) -+#define g_marshal_value_peek_pointer(v) g_value_get_pointer (v) -+#define g_marshal_value_peek_object(v) g_value_get_object (v) -+#else /* !G_ENABLE_DEBUG */ -+/* WARNING: This code accesses GValues directly, which is UNSUPPORTED API. -+ * Do not access GValues directly in your code. Instead, use the -+ * g_value_get_*() functions -+ */ -+#define g_marshal_value_peek_boolean(v) (v)->data[0].v_int -+#define g_marshal_value_peek_char(v) (v)->data[0].v_int -+#define g_marshal_value_peek_uchar(v) (v)->data[0].v_uint -+#define g_marshal_value_peek_int(v) (v)->data[0].v_int -+#define g_marshal_value_peek_uint(v) (v)->data[0].v_uint -+#define g_marshal_value_peek_long(v) (v)->data[0].v_long -+#define g_marshal_value_peek_ulong(v) (v)->data[0].v_ulong -+#define g_marshal_value_peek_int64(v) (v)->data[0].v_int64 -+#define g_marshal_value_peek_uint64(v) (v)->data[0].v_uint64 -+#define g_marshal_value_peek_enum(v) (v)->data[0].v_int -+#define g_marshal_value_peek_flags(v) (v)->data[0].v_uint -+#define g_marshal_value_peek_float(v) (v)->data[0].v_float -+#define g_marshal_value_peek_double(v) (v)->data[0].v_double -+#define g_marshal_value_peek_string(v) (v)->data[0].v_pointer -+#define g_marshal_value_peek_param(v) (v)->data[0].v_pointer -+#define g_marshal_value_peek_boxed(v) (v)->data[0].v_pointer -+#define g_marshal_value_peek_pointer(v) (v)->data[0].v_pointer -+#define g_marshal_value_peek_object(v) (v)->data[0].v_pointer -+#endif /* !G_ENABLE_DEBUG */ -+ -+ -+/* NONE:POINTER,INT,INT (/dev/stdin:1) */ -+void -+gtkmozembed_VOID__POINTER_INT_INT (GClosure *closure, -+ GValue *return_value, -+ guint n_param_values, -+ const GValue *param_values, -+ gpointer invocation_hint, -+ gpointer marshal_data) -+{ -+ typedef void (*GMarshalFunc_VOID__POINTER_INT_INT) (gpointer data1, -+ gpointer arg_1, -+ gint arg_2, -+ gint arg_3, -+ gpointer data2); -+ register GMarshalFunc_VOID__POINTER_INT_INT callback; -+ register GCClosure *cc = (GCClosure*) closure; -+ register gpointer data1, data2; -+ -+ g_return_if_fail (n_param_values == 4); -+ -+ if (G_CCLOSURE_SWAP_DATA (closure)) -+ { -+ data1 = closure->data; -+ data2 = g_value_peek_pointer (param_values + 0); -+ } -+ else -+ { -+ data1 = g_value_peek_pointer (param_values + 0); -+ data2 = closure->data; -+ } -+ callback = (GMarshalFunc_VOID__POINTER_INT_INT) (marshal_data ? marshal_data : cc->callback); -+ -+ callback (data1, -+ g_marshal_value_peek_pointer (param_values + 1), -+ g_marshal_value_peek_int (param_values + 2), -+ g_marshal_value_peek_int (param_values + 3), -+ data2); -+} -+ -+/* NONE:INT,UINT (/dev/stdin:2) */ -+void -+gtkmozembed_VOID__INT_UINT (GClosure *closure, -+ GValue *return_value, -+ guint n_param_values, -+ const GValue *param_values, -+ gpointer invocation_hint, -+ gpointer marshal_data) -+{ -+ typedef void (*GMarshalFunc_VOID__INT_UINT) (gpointer data1, -+ gint arg_1, -+ guint arg_2, -+ gpointer data2); -+ register GMarshalFunc_VOID__INT_UINT callback; -+ register GCClosure *cc = (GCClosure*) closure; -+ register gpointer data1, data2; -+ -+ g_return_if_fail (n_param_values == 3); -+ -+ if (G_CCLOSURE_SWAP_DATA (closure)) -+ { -+ data1 = closure->data; -+ data2 = g_value_peek_pointer (param_values + 0); -+ } -+ else -+ { -+ data1 = g_value_peek_pointer (param_values + 0); -+ data2 = closure->data; -+ } -+ callback = (GMarshalFunc_VOID__INT_UINT) (marshal_data ? marshal_data : cc->callback); -+ -+ callback (data1, -+ g_marshal_value_peek_int (param_values + 1), -+ g_marshal_value_peek_uint (param_values + 2), -+ data2); -+} -+ -+/* NONE:POINTER,INT,UINT (/dev/stdin:3) */ -+void -+gtkmozembed_VOID__POINTER_INT_UINT (GClosure *closure, -+ GValue *return_value, -+ guint n_param_values, -+ const GValue *param_values, -+ gpointer invocation_hint, -+ gpointer marshal_data) -+{ -+ typedef void (*GMarshalFunc_VOID__POINTER_INT_UINT) (gpointer data1, -+ gpointer arg_1, -+ gint arg_2, -+ guint arg_3, -+ gpointer data2); -+ register GMarshalFunc_VOID__POINTER_INT_UINT callback; -+ register GCClosure *cc = (GCClosure*) closure; -+ register gpointer data1, data2; -+ -+ g_return_if_fail (n_param_values == 4); -+ -+ if (G_CCLOSURE_SWAP_DATA (closure)) -+ { -+ data1 = closure->data; -+ data2 = g_value_peek_pointer (param_values + 0); -+ } -+ else -+ { -+ data1 = g_value_peek_pointer (param_values + 0); -+ data2 = closure->data; -+ } -+ callback = (GMarshalFunc_VOID__POINTER_INT_UINT) (marshal_data ? marshal_data : cc->callback); -+ -+ callback (data1, -+ g_marshal_value_peek_pointer (param_values + 1), -+ g_marshal_value_peek_int (param_values + 2), -+ g_marshal_value_peek_uint (param_values + 3), -+ data2); -+} -+ -+/* NONE:POINTER,INT,POINTER (/dev/stdin:4) */ -+void -+gtkmozembed_VOID__POINTER_INT_POINTER (GClosure *closure, -+ GValue *return_value, -+ guint n_param_values, -+ const GValue *param_values, -+ gpointer invocation_hint, -+ gpointer marshal_data) -+{ -+ typedef void (*GMarshalFunc_VOID__POINTER_INT_POINTER) (gpointer data1, -+ gpointer arg_1, -+ gint arg_2, -+ gpointer arg_3, -+ gpointer data2); -+ register GMarshalFunc_VOID__POINTER_INT_POINTER callback; -+ register GCClosure *cc = (GCClosure*) closure; -+ register gpointer data1, data2; -+ -+ g_return_if_fail (n_param_values == 4); -+ -+ if (G_CCLOSURE_SWAP_DATA (closure)) -+ { -+ data1 = closure->data; -+ data2 = g_value_peek_pointer (param_values + 0); -+ } -+ else -+ { -+ data1 = g_value_peek_pointer (param_values + 0); -+ data2 = closure->data; -+ } -+ callback = (GMarshalFunc_VOID__POINTER_INT_POINTER) (marshal_data ? marshal_data : cc->callback); -+ -+ callback (data1, -+ g_marshal_value_peek_pointer (param_values + 1), -+ g_marshal_value_peek_int (param_values + 2), -+ g_marshal_value_peek_pointer (param_values + 3), -+ data2); -+} -+ -Index: embedding/browser/gtk/src/gtkmozembedmarshal.h -=================================================================== -RCS file: embedding/browser/gtk/src/gtkmozembedmarshal.h -diff -N embedding/browser/gtk/src/gtkmozembedmarshal.h ---- /dev/null 1 Jan 1970 00:00:00 -0000 -+++ embedding/browser/gtk/src/gtkmozembedmarshal.h 22 Oct 2002 17:14:59 -0000 -@@ -0,0 +1,48 @@ -+ -+#ifndef __gtkmozembed_MARSHAL_H__ -+#define __gtkmozembed_MARSHAL_H__ -+ -+#include <glib-object.h> -+ -+G_BEGIN_DECLS -+ -+/* NONE:POINTER,INT,INT (/dev/stdin:1) */ -+extern void gtkmozembed_VOID__POINTER_INT_INT (GClosure *closure, -+ GValue *return_value, -+ guint n_param_values, -+ const GValue *param_values, -+ gpointer invocation_hint, -+ gpointer marshal_data); -+#define gtkmozembed_NONE__POINTER_INT_INT gtkmozembed_VOID__POINTER_INT_INT -+ -+/* NONE:INT,UINT (/dev/stdin:2) */ -+extern void gtkmozembed_VOID__INT_UINT (GClosure *closure, -+ GValue *return_value, -+ guint n_param_values, -+ const GValue *param_values, -+ gpointer invocation_hint, -+ gpointer marshal_data); -+#define gtkmozembed_NONE__INT_UINT gtkmozembed_VOID__INT_UINT -+ -+/* NONE:POINTER,INT,UINT (/dev/stdin:3) */ -+extern void gtkmozembed_VOID__POINTER_INT_UINT (GClosure *closure, -+ GValue *return_value, -+ guint n_param_values, -+ const GValue *param_values, -+ gpointer invocation_hint, -+ gpointer marshal_data); -+#define gtkmozembed_NONE__POINTER_INT_UINT gtkmozembed_VOID__POINTER_INT_UINT -+ -+/* NONE:POINTER,INT,POINTER (/dev/stdin:4) */ -+extern void gtkmozembed_VOID__POINTER_INT_POINTER (GClosure *closure, -+ GValue *return_value, -+ guint n_param_values, -+ const GValue *param_values, -+ gpointer invocation_hint, -+ gpointer marshal_data); -+#define gtkmozembed_NONE__POINTER_INT_POINTER gtkmozembed_VOID__POINTER_INT_POINTER -+ -+G_END_DECLS -+ -+#endif /* __gtkmozembed_MARSHAL_H__ */ -+ -Index: embedding/browser/gtk/src/types.txt -=================================================================== -RCS file: embedding/browser/gtk/src/types.txt -diff -N embedding/browser/gtk/src/types.txt ---- /dev/null 1 Jan 1970 00:00:00 -0000 -+++ embedding/browser/gtk/src/types.txt 22 Oct 2002 17:14:59 -0000 -@@ -0,0 +1,4 @@ -+NONE:POINTER,INT,INT -+NONE:INT,UINT -+NONE:POINTER,INT,UINT -+NONE:POINTER,INT,POINTER -Index: embedding/browser/gtk/tests/TestGtkEmbed.cpp -=================================================================== -RCS file: /cvsroot/mozilla/embedding/browser/gtk/tests/TestGtkEmbed.cpp,v -retrieving revision 1.32 -diff -u -r1.32 TestGtkEmbed.cpp ---- embedding/browser/gtk/tests/TestGtkEmbed.cpp 24 Sep 2002 01:56:34 -0000 1.32 -+++ embedding/browser/gtk/tests/TestGtkEmbed.cpp 22 Oct 2002 17:14:59 -0000 -@@ -304,8 +304,19 @@ - FALSE, // fill - 0); // padding - // new horiz toolbar with buttons + icons -+#ifdef MOZ_WIDGET_GTK - browser->toolbar = gtk_toolbar_new(GTK_ORIENTATION_HORIZONTAL, - GTK_TOOLBAR_BOTH); -+#endif /* MOZ_WIDGET_GTK */ -+ -+#ifdef MOZ_WIDGET_GTK2 -+ browser->toolbar = gtk_toolbar_new(); -+ gtk_toolbar_set_orientation(GTK_TOOLBAR(browser->toolbar), -+ GTK_ORIENTATION_HORIZONTAL); -+ gtk_toolbar_set_style(GTK_TOOLBAR(browser->toolbar), -+ GTK_TOOLBAR_BOTH); -+#endif /* MOZ_WIDGET_GTK2 */ -+ - // add it to the hbox - gtk_box_pack_start(GTK_BOX(browser->toolbarHBox), browser->toolbar, - FALSE, // expand -Index: embedding/browser/gtk/src/gtkmozembed2.cpp -=================================================================== -RCS file: /cvsroot/mozilla/embedding/browser/gtk/src/gtkmozembed2.cpp,v -retrieving revision 1.23 -diff -u -r1.23 gtkmozembed2.cpp ---- embedding/browser/gtk/src/gtkmozembed2.cpp 12 Jan 2002 05:04:57 -0000 1.23 -+++ embedding/browser/gtk/src/gtkmozembed2.cpp 24 Oct 2002 21:39:07 -0000 -@@ -443,6 +443,8 @@ - EmbedPrivate *priv = new EmbedPrivate(); - embed->data = priv; - gtk_widget_set_name(GTK_WIDGET(embed), "gtkmozembed"); -+ -+ GTK_WIDGET_UNSET_FLAGS (GTK_WIDGET(embed), GTK_NO_WINDOW); - } - - GtkWidget * -Index: widget/src/gtk2/nsWindow.cpp -=================================================================== -RCS file: /cvsroot/mozilla/widget/src/gtk2/nsWindow.cpp,v -retrieving revision 1.38 -diff -u -r1.38 nsWindow.cpp ---- widget/src/gtk2/nsWindow.cpp 10 Aug 2002 18:21:22 -0000 1.38 -+++ widget/src/gtk2/nsWindow.cpp 26 Aug 2002 19:12:43 -0000 -@@ -145,7 +145,6 @@ - - /* initialization static functions */ - static nsresult initialize_prefs (void); --static nsresult initialize_default_icon (void); - - // this is the last window that had a drag event happen on it. - nsWindow *nsWindow::mLastDragMotionWindow = NULL; -@@ -216,7 +215,6 @@ - - // It's OK if either of these fail, but it may not be one day. - initialize_prefs(); -- initialize_default_icon(); - } - - if (mLastDragMotionWindow == this) -@@ -1994,6 +1992,7 @@ - mIsTopLevel = PR_TRUE; - if (mWindowType == eWindowType_dialog) { - mShell = gtk_window_new(GTK_WINDOW_TOPLEVEL); -+ SetupWindowIcon(mShell); - gtk_window_set_type_hint(GTK_WINDOW(mShell), - GDK_WINDOW_TYPE_HINT_DIALOG); - gtk_window_set_transient_for(GTK_WINDOW(mShell), -@@ -2030,6 +2029,7 @@ - } - else { // must be eWindowType_toplevel - mShell = gtk_window_new(GTK_WINDOW_TOPLEVEL); -+ SetupWindowIcon(mShell); - // each toplevel window gets its own window group - mWindowGroup = gtk_window_group_new(); - // and add ourselves to the window group -@@ -3147,11 +3147,10 @@ - return NS_OK; - } - --/* static */ - nsresult --initialize_default_icon(void) -+nsWindow::SetupWindowIcon(GtkWidget *window) - { -- // Set up the default icon for all windows -+ // Set up the window icon - nsresult rv; - nsCOMPtr<nsIFile> chromeDir; - rv = NS_GetSpecialDirectory(NS_APP_CHROME_DIR, -@@ -3181,7 +3180,7 @@ - - GList *list = NULL; - list = g_list_append(list, defaultIcon); -- gtk_window_set_default_icon_list(list); -+ gtk_window_set_icon_list(GTK_WINDOW(window), list); - g_object_unref(G_OBJECT(defaultIcon)); - g_list_free(list); - -Index: widget/src/gtk2/nsWindow.h -=================================================================== -RCS file: /cvsroot/mozilla/widget/src/gtk2/nsWindow.h,v -retrieving revision 1.24 -diff -u -r1.24 nsWindow.h ---- widget/src/gtk2/nsWindow.h 10 Aug 2002 18:07:20 -0000 1.24 -+++ widget/src/gtk2/nsWindow.h 26 Aug 2002 19:12:45 -0000 -@@ -254,7 +254,8 @@ - private: - void GetToplevelWidget(GtkWidget **aWidget); - void *SetupPluginPort(void); -- -+ nsresult SetupWindowIcon(GtkWidget *window); -+ - GtkWidget *mShell; - MozContainer *mContainer; - MozDrawingarea *mDrawingarea; - -Index: build/unix/mozilla-gtkmozembed.pc.in -=================================================================== -RCS file: /cvsroot/mozilla/build/unix/mozilla-gtkmozembed.pc.in,v -retrieving revision 1.1 -diff -u -r1.1 mozilla-gtkmozembed.pc.in ---- build/unix/mozilla-gtkmozembed.pc.in 28 May 2002 20:20:40 -0000 1.1 -+++ build/unix/mozilla-gtkmozembed.pc.in 25 Oct 2002 09:30:19 -0000 -@@ -7,5 +7,5 @@ - Description: Mozilla Embedding Widget for Gtk+ - Version: %MOZILLA_VERSION% - Requires: mozilla-xpcom = %MOZILLA_VERSION% --Libs: -L${libdir} -lgtkembedmoz -lgtksuperwin -+Libs: -L${libdir} -lgtkembedmoz - Cflags: -I${includedir}/gtkembedmoz ---- embedding/browser/gtk/tests/Makefile.in.orig Mon Sep 23 21:56:35 2002 -+++ embedding/browser/gtk/tests/Makefile.in Tue Oct 29 03:24:44 2002 -@@ -45,10 +45,18 @@ - CPPSRCS += TestGtkEmbedMDI.cpp - endif - -+ifdef MOZ_ENABLE_GTK - LIBS += \ - -lgtkembedmoz \ - -lgtksuperwin \ - $(NULL) -+endif -+ -+ifdef MOZ_ENABLE_GTK2 -+LIBS += \ -+ -lgtkembedmoz \ -+ $(NULL) -+endif - - include $(topsrcdir)/config/config.mk - -@@ -72,7 +80,7 @@ - - include $(topsrcdir)/config/rules.mk - --CXXFLAGS += $(MOZ_GTK_CFLAGS) -+CXXFLAGS += $(MOZ_GTK_CFLAGS) $(MOZ_GTK2_CFLAGS) - - ifdef ENABLE_GNOME - CXXFLAGS += `gnome-config --cflags gnomeui` diff --git a/www/mozilla/files/patch-config_rules.mk b/www/mozilla/files/patch-config_rules.mk deleted file mode 100644 index ed83bb224d91..000000000000 --- a/www/mozilla/files/patch-config_rules.mk +++ /dev/null @@ -1,15 +0,0 @@ ---- config/rules.mk.orig Fri Oct 25 01:59:03 2002 -+++ config/rules.mk Sat Jan 25 16:44:25 2003 -@@ -463,6 +463,12 @@ - endif - endif - -+ifeq ($(OS_ARCH),FreeBSD) -+ifdef IS_COMPONENT -+EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic -+endif -+endif -+ - ifeq ($(OS_ARCH),NetBSD) - ifneq (,$(filter arc cobalt hpcmips mipsco newsmips pmax sgimips,$(OS_TEST))) - ifeq ($(MODULE),layout) diff --git a/www/mozilla/files/patch-nsprpub_pr_src_misc_prtime.c b/www/mozilla/files/patch-nsprpub_pr_src_misc_prtime.c new file mode 100644 index 000000000000..6b65ef14fbec --- /dev/null +++ b/www/mozilla/files/patch-nsprpub_pr_src_misc_prtime.c @@ -0,0 +1,18 @@ +--- nsprpub/pr/src/misc/prtime.c.orig Sun Mar 31 12:17:46 2002 ++++ nsprpub/pr/src/misc/prtime.c Tue Dec 17 21:30:30 2002 +@@ -1666,12 +1666,13 @@ + * values for these two fields. + */ + +-#if defined(SUNOS4) || (__GLIBC__ >= 2) || defined(XP_BEOS) ++#if defined(__FreeBSD__)|| defined(SUNOS4) \ ++ || (__GLIBC__ >= 2) || defined(XP_BEOS) + if (mktime(&a) == -1) { + PR_snprintf(buf, buflen, "can't get timezone"); + return 0; + } +-#endif ++#endif /* check for __FreeBSD__, too <alane@freebsd.org> */ + + return strftime(buf, buflen, fmt, &a); + } diff --git a/www/mozilla/files/patch-other-licenses_libical_src_libical_Makefile.in b/www/mozilla/files/patch-other-licenses_libical_src_libical_Makefile.in new file mode 100644 index 000000000000..f7b62d4df6a2 --- /dev/null +++ b/www/mozilla/files/patch-other-licenses_libical_src_libical_Makefile.in @@ -0,0 +1,11 @@ +--- other-licenses/libical/src/libical/Makefile.in.orig Thu Feb 13 15:50:58 2003 ++++ other-licenses/libical/src/libical/Makefile.in Thu Feb 13 15:51:07 2003 +@@ -179,7 +179,7 @@ + $(PERL) $(ICALSCRIPTS)/mkrestrictiontable.pl -i $(srcdir)/icalrestriction.c.in \ + $(DESIGNDATA)/restrictions.csv > icalrestriction.c + +-ifneq (,$(filter BeOS Darwin OpenVMS,$(OS_ARCH))) ++ifneq (,$(filter BeOS Darwin OpenVMS FreeBSD,$(OS_ARCH))) + DEFINES += -D__USE_BSD=1 + endif + diff --git a/www/mozilla/files/patch-qt b/www/mozilla/files/patch-qt index 9bf05f639a6c..032397d35040 100644 --- a/www/mozilla/files/patch-qt +++ b/www/mozilla/files/patch-qt @@ -1,15 +1,15 @@ ---- configure.orig Tue Oct 15 19:39:37 2002 -+++ configure Fri Oct 18 18:20:50 2002 -@@ -10646,7 +10646,7 @@ +--- configure.orig Thu Feb 6 17:15:12 2003 ++++ configure Tue Feb 11 22:52:48 2003 +@@ -10974,7 +10974,7 @@ fi MOC=$HOST_MOC -- QT_CFLAGS="-I${QTDIR}${QTINCDIR} -DQT_GENUINE_STR" +- QT_CFLAGS="-I${QTDIR}${QTINCDIR} -DQT_GENUINE_STR -DQT_NO_STL" + QT_CFLAGS="-I${QTDIR}/include/X11/qt -DQT_GENUINE_STR" - QT_LIBS="-L/usr/X11R6/lib -L${QTDIR}/lib -lqt -lXext -lX11" - - MOZ_QT_LDFLAGS=$QT_LIBS -@@ -11402,9 +11402,9 @@ + if test -z "$MOZ_DEBUG"; then + QT_CFLAGS="$QT_CFLAGS -DQT_NO_DEBUG -DNO_DEBUG" + fi +@@ -11840,9 +11840,9 @@ diff --git a/www/mozilla/files/xim_dekita2.patch b/www/mozilla/files/xim_dekita2.patch new file mode 100644 index 000000000000..87cb2ea7b108 --- /dev/null +++ b/www/mozilla/files/xim_dekita2.patch @@ -0,0 +1,517 @@ +Index: Makefile.in +=================================================================== +RCS file: /cvsroot/mozilla/widget/src/gtk2/Makefile.in,v +retrieving revision 1.24 +diff -u -r1.24 Makefile.in +--- widget/src/gtk2/Makefile.in 28 Dec 2002 01:14:45 -0000 1.24 ++++ widget/src/gtk2/Makefile.in 7 Mar 2003 07:39:24 -0000 +@@ -90,7 +90,7 @@ + CFLAGS += $(MOZ_GTK2_CFLAGS) + CXXFLAGS += $(MOZ_GTK2_CFLAGS) + +-#DEFINES += -DUSE_XIM ++DEFINES += -DUSE_XIM + + INCLUDES += \ + -I$(srcdir)/../xpwidgets \ +Index: nsWindow.cpp +=================================================================== +RCS file: /cvsroot/mozilla/widget/src/gtk2/nsWindow.cpp,v +retrieving revision 1.68 +diff -u -r1.68 nsWindow.cpp +--- widget/src/gtk2/nsWindow.cpp 5 Mar 2003 23:17:28 -0000 1.68 ++++ widget/src/gtk2/nsWindow.cpp 6 Mar 2003 02:22:39 -0000 +@@ -179,6 +179,7 @@ + nsWeakPtr gRollupWindow; + + #ifdef USE_XIM ++static nsWindow *gIMEFocusWindow = NULL; + + struct nsXICLookupEntry { + PLDHashEntryHdr mKeyHash; +@@ -186,7 +187,9 @@ + GtkIMContext* mXIC; + }; + +-PLDHashTable nsWindow::gXICLookupTable; ++PLDHashTable nsWindow::gXICLookupTable; ++GdkEventKey* nsWindow::gIMEKeyEvent = NULL; ++PRBool nsWindow::gIMEStringCommited = PR_TRUE; + + static void IM_commit_cb (GtkIMContext *context, + const gchar *str, +@@ -257,61 +260,6 @@ + #endif + } + +-#ifdef USE_XIM +-void +-nsWindow::IMEGetShellWindow(void) +-{ +- GtkWidget* top_window = nsnull; +- GetToplevelWidget(&top_window); +- if (top_window) { +- mIMEShellWindow = get_window_for_gtk_widget(top_window); +- } +-} +- +-GtkIMContext* +-nsWindow::IMEGetContext() +-{ +- if (!mIMEShellWindow) { +- return NULL; +- } +- PLDHashEntryHdr* hash_entry; +- nsXICLookupEntry* entry; +- +- hash_entry = PL_DHashTableOperate(&gXICLookupTable, +- mIMEShellWindow, PL_DHASH_LOOKUP); +- +- if (hash_entry) { +- entry = NS_REINTERPRET_CAST(nsXICLookupEntry *, hash_entry); +- if (entry->mXIC) { +- return entry->mXIC; +- } +- } +- return NULL; +-} +- +-void +-nsWindow::IMECreateContext(GdkWindow* aGdkWindow) +-{ +- PLDHashEntryHdr* hash_entry; +- nsXICLookupEntry* entry; +- GtkIMContext *im = gtk_im_multicontext_new(); +- if (im) { +- hash_entry = PL_DHashTableOperate(&gXICLookupTable, this, PL_DHASH_ADD); +- if (hash_entry) { +- entry = NS_REINTERPRET_CAST(nsXICLookupEntry *, hash_entry); +- entry->mShellWindow = this; +- entry->mXIC = im; +- } +- gtk_im_context_set_client_window(im, aGdkWindow); +- g_signal_connect(G_OBJECT(im), "commit", +- G_CALLBACK(IM_commit_cb), this); +- g_signal_connect(G_OBJECT(im), "preedit_changed", +- G_CALLBACK(IM_preedit_changed_cb), this); +- this->mIMEShellWindow = this; +- } +-} +-#endif +- + nsWindow::~nsWindow() + { + LOG(("nsWindow::~nsWindow() [%p]\n", (void *)this)); +@@ -397,22 +345,7 @@ + } + + #ifdef USE_XIM +- GtkIMContext *im = IMEGetContext(); +- // If this is the focus window and we have an IM context we need +- // to unset the focus on this window before we destroy the window. +- if (im && gFocusWindow == this) { +- LOGFOCUS((" gtk_im_context_focus_out() from Destroy()\n")); +- gtk_im_context_focus_out(im); +- } +- +- // if shell, delete GtkIMContext +- if (im && mShell) { +- gtk_im_context_reset(im); +- PL_DHashTableOperate(&gXICLookupTable, this, PL_DHASH_REMOVE); +- g_object_unref(G_OBJECT(im)); +- } +- +- mIMEShellWindow = nsnull; ++ IMEDestroyContext(); + #endif + + // make sure that we remove ourself as the focus window +@@ -656,21 +589,30 @@ + return NS_OK; + } + ++#ifdef USE_XIM ++ if (mWindowType == eWindowType_child && !mIMEShellWindow) { ++ IMEGetShellWindow(); ++ } ++#endif ++ + // If there is already a focued child window, dispatch a LOSTFOCUS + // event from that widget and unset its got focus flag. +- if (gFocusWindow) ++ if (gFocusWindow) { ++#ifdef USE_XIM ++ // If same ic is focused, do not call LoseFocus() ++ if (mIMEShellWindow != gFocusWindow->mIMEShellWindow) { ++ gFocusWindow->IMELoseFocus(); ++ } ++#endif + gFocusWindow->LoseFocus(); ++ } + + // Set this window to be the focused child window, update our has + // focus flag and dispatch a GOTFOCUS event. + gFocusWindow = this; + + #ifdef USE_XIM +- GtkIMContext *im = IMEGetContext(); +- if (im && !mIsTopLevel) { +- LOGFOCUS((" gtk_im_context_focus_in()\n")); +- gtk_im_context_focus_in(im); +- } ++ IMESetFocus(); + #endif + + LOGFOCUS((" widget now has focus - dispatching events [%p]\n", +@@ -1165,18 +1107,6 @@ + void + nsWindow::LoseFocus(void) + { +-#ifdef USE_XIM +- GtkIMContext *im = IMEGetContext(); +- if (im && !mIsTopLevel) { +- LOGFOCUS((" gtk_im_context_focus_out()\n")); +- gtk_im_context_focus_out(im); +- IMEComposeStart(); +- IMEComposeText(NULL, 0, NULL, NULL); +- IMEComposeEnd(); +- LOG(("gtk_im_context_focus_out\n")); +- } +-#endif +- + // make sure that we reset our repeat counter so the next keypress + // for this widget will get the down event + mInKeyRepeat = PR_FALSE; +@@ -1449,6 +1379,7 @@ + DispatchEvent(&event, status); + } + ++ + void + nsWindow::OnContainerFocusInEvent(GtkWidget *aWidget, GdkEventFocus *aEvent) + { +@@ -1516,6 +1447,9 @@ + + foundit: + ++#ifdef USE_XIM ++ gFocusWindow->IMELoseFocus(); ++#endif + gFocusWindow->LoseFocus(); + + // We only dispatch a deactivate event if we are a toplevel +@@ -1537,7 +1471,7 @@ + #ifdef USE_XIM + GtkIMContext *im = IMEGetContext(); + if (im) { +- if (gtk_im_context_filter_keypress(im, aEvent)) { ++ if (IMFilterKeypress(im, aEvent)) { + LOGFOCUS((" keypress filtered by XIM\n")); + return TRUE; + } +@@ -1621,7 +1555,7 @@ + #ifdef USE_XIM + GtkIMContext *im = IMEGetContext(); + if (im) { +- if (gtk_im_context_filter_keypress(im, aEvent)) { ++ if (IMFilterKeypress(im, aEvent)) { + LOGFOCUS((" keypress filtered by XIM\n")); + return TRUE; + } +@@ -2155,6 +2089,15 @@ + + // and the drawing area + mDrawingarea = moz_drawingarea_new(nsnull, mContainer); ++ ++#ifdef USE_XIM ++#ifndef XIM_CREATE_IC_AT_FOCUS ++ if (mWindowType != eWindowType_popup) { ++ // create im context for shell ++ IMECreateContext(mShell->window); ++ } ++#endif /* XIM_CREATE_IC_AT_FOCUS */ ++#endif /* USE_XIM */ + } + break; + case eWindowType_child: { +@@ -2167,11 +2110,13 @@ + gtk_widget_realize(GTK_WIDGET(mContainer)); + + mDrawingarea = moz_drawingarea_new(nsnull, mContainer); +- } + #ifdef USE_XIM +- // get mIMEShellWindow and keep it +- IMEGetShellWindow(); +-#endif ++#ifndef XIM_CREATE_IC_AT_FOCUS ++ // create im context for gtk container ++ IMECreateContext(GTK_WIDGET(mContainer)->window); ++#endif /* XIM_CREATE_IC_AT_FOCUS */ ++#endif /* USE_XIM */ ++ } + } + break; + default: +@@ -2216,13 +2161,6 @@ + G_CALLBACK(property_notify_event_cb), NULL); + } + +-#ifdef USE_XIM +- if (mShell) { +- // init GtkIMContext for shell +- IMECreateContext(mShell->window); +- } +-#endif +- + if (mContainer) { + g_signal_connect_after(G_OBJECT(mContainer), "size_allocate", + G_CALLBACK(size_allocate_cb), NULL); +@@ -3667,6 +3605,77 @@ + } + + #ifdef USE_XIM ++void ++nsWindow::IMEGetShellWindow(void) ++{ ++ GtkWidget* top_window = nsnull; ++ GetToplevelWidget(&top_window); ++ if (top_window) { ++ mIMEShellWindow = get_window_for_gtk_widget(top_window); ++ if (mIMEShellWindow) { ++ return; ++ } ++ } ++ ++ // find deepest nsWindow ++ if (!mDrawingarea) { ++ return; ++ } ++ GdkWindow *parent = gdk_window_get_parent(mDrawingarea->inner_window); ++ while (parent) { ++ nsWindow *window = get_window_for_gdk_window(parent); ++ if (window == nsnull) { ++ break; ++ } ++ if (window->mContainer) { ++ mIMEShellWindow = window; ++ } ++ parent = gdk_window_get_parent (parent); ++ } ++} ++ ++GtkIMContext* ++nsWindow::IMEGetContext() ++{ ++ if (!mIMEShellWindow) { ++ return NULL; ++ } ++ PLDHashEntryHdr* hash_entry; ++ nsXICLookupEntry* entry; ++ ++ hash_entry = PL_DHashTableOperate(&gXICLookupTable, ++ mIMEShellWindow, PL_DHASH_LOOKUP); ++ ++ if (hash_entry) { ++ entry = NS_REINTERPRET_CAST(nsXICLookupEntry *, hash_entry); ++ if (entry->mXIC) { ++ return entry->mXIC; ++ } ++ } ++ return NULL; ++} ++ ++void ++nsWindow::IMECreateContext(GdkWindow* aGdkWindow) ++{ ++ PLDHashEntryHdr* hash_entry; ++ nsXICLookupEntry* entry; ++ GtkIMContext *im = gtk_im_multicontext_new(); ++ if (im) { ++ hash_entry = PL_DHashTableOperate(&gXICLookupTable, this, PL_DHASH_ADD); ++ if (hash_entry) { ++ entry = NS_REINTERPRET_CAST(nsXICLookupEntry *, hash_entry); ++ entry->mShellWindow = this; ++ entry->mXIC = im; ++ } ++ gtk_im_context_set_client_window(im, aGdkWindow); ++ g_signal_connect(G_OBJECT(im), "commit", ++ G_CALLBACK(IM_commit_cb), this); ++ g_signal_connect(G_OBJECT(im), "preedit_changed", ++ G_CALLBACK(IM_preedit_changed_cb), this); ++ this->mIMEShellWindow = this; ++ } ++} + + void + nsWindow::IMEComposeStart(void) +@@ -3737,6 +3746,26 @@ + DispatchEvent(&compEvent, status); + } + ++PRBool ++nsWindow::IMFilterKeypress (GtkIMContext *context, ++ GdkEventKey *aEvent) ++{ ++ gIMEKeyEvent = aEvent; ++ if (gtk_im_context_filter_keypress(context, aEvent)) { ++ /* return true if the keyevent is commited as string and ++ ** has been dispatched as TextEvent. ++ */ ++ if( gIMEStringCommited ) { ++ return TRUE; ++ } ++ gIMEStringCommited = PR_TRUE; ++ } ++ gIMEKeyEvent = NULL; ++ ++ /* the Keyevent is not filtered by IME */ ++ return FALSE; ++} ++ + /* static */ + void + IM_preedit_changed_cb(GtkIMContext *context, +@@ -3747,7 +3776,8 @@ + PangoAttrList *feedback_list; + + // call for focused window +- nsWindow *window = gFocusWindow; ++ // if gFocusWindow is null, use the last focused gIMEFocusWindow ++ nsWindow *window = gFocusWindow ? gFocusWindow : gIMEFocusWindow; + if (!window) return; + + // Should use cursor_pos ? +@@ -3760,6 +3790,7 @@ + if (!preedit_string || !*preedit_string) { + window->IMEComposeStart(); + window->IMEComposeText(NULL, 0, NULL, NULL); ++ window->IMEComposeEnd(); + return; + } + +@@ -3800,9 +3831,31 @@ + glong uniStrLen; + + // call for focused window +- nsWindow *window = gFocusWindow; ++ // if gFocusWindow is null, use the last focused gIMEFocusWindow ++ nsWindow *window = gFocusWindow ? gFocusWindow : gIMEFocusWindow; + if (!window) return; + ++ /* if the IME does not change the keystrock, we won't send it ++ * through the TextEvent. ++ */ ++ nsWindow::gIMEStringCommited = PR_TRUE; ++ if ( nsWindow::gIMEKeyEvent ) ++ { ++ char keyval_utf8[8]; /* should have at least 6 bytes of space */ ++ gint keyval_utf8_len; ++ keyval_utf8_len = g_unichar_to_utf8( ++ gdk_keyval_to_unicode(nsWindow::gIMEKeyEvent->keyval), ++ keyval_utf8); ++ ++ keyval_utf8[keyval_utf8_len] = '\0'; ++ if ( strcmp(utf8_str, keyval_utf8) == 0) ++ { ++ nsWindow::gIMEStringCommited = PR_FALSE; ++ return; ++ } ++ nsWindow::gIMEKeyEvent = NULL; ++ } ++ + uniStr = NULL; + uniStrLen = 0; + uniStr = g_utf8_to_utf16(utf8_str, -1, NULL, &uniStrLen, NULL); +@@ -3944,6 +3997,60 @@ + *aTextRangeListLengthResult = count + 1; + + pango_attr_iterator_destroy(aFeedbackIterator); ++} ++ ++void ++nsWindow::IMELoseFocus(void) ++{ ++ GtkIMContext *im = IMEGetContext(); ++ if (!im) { ++ return; ++ } ++ gtk_im_context_focus_out(im); ++} ++ ++void ++nsWindow::IMESetFocus(void) ++{ ++ GtkIMContext *im = IMEGetContext(); ++#ifdef XIM_CREATE_IC_AT_FOCUS ++ if (!im && mIMEShellWindow) { ++ if (mIMEShellWindow->mShell) { ++ // init GtkIMContext for shell ++ mIMEShellWindow->IMECreateContext(mIMEShellWindow->mShell->window); ++ } else if (mIMEShellWindow->mContainer) { ++ // init GtkIMContext for mContainer ++ mIMEShellWindow->IMECreateContext(GTK_WIDGET(mIMEShellWindow->mContainer)->window); ++ } ++ } ++ im = IMEGetContext(); ++#endif /* XIM_CREATE_IC_AT_FOCUS */ ++ if (!im) { ++ return; ++ } ++ gtk_im_context_focus_in(im); ++ gIMEFocusWindow = this; ++} ++ ++void ++nsWindow::IMEDestroyContext(void) ++{ ++ GtkIMContext *im = IMEGetContext(); ++ if (im) { ++ // If this is the focus window and we have an IM context we need ++ // to unset the focus on this window before we destroy the window. ++ if (gIMEFocusWindow == this) { ++ gIMEFocusWindow->IMELoseFocus(); ++ gIMEFocusWindow = nsnull; ++ } ++ // if shell, delete GtkIMContext ++ if (mIMEShellWindow == this) { ++ gtk_im_context_set_client_window(im, NULL); ++ PL_DHashTableOperate(&gXICLookupTable, this, PL_DHASH_REMOVE); ++ g_object_unref(G_OBJECT(im)); ++ } ++ } ++ mIMEShellWindow = nsnull; + } + + #endif +Index: nsWindow.h +=================================================================== +RCS file: /cvsroot/mozilla/widget/src/gtk2/nsWindow.h,v +retrieving revision 1.32 +diff -u -r1.32 nsWindow.h +--- widget/src/gtk2/nsWindow.h 17 Feb 2003 18:50:01 -0000 1.32 ++++ widget/src/gtk2/nsWindow.h 6 Mar 2003 02:22:39 -0000 +@@ -239,6 +239,9 @@ + static guint32 mLastButtonPressTime; + + #ifdef USE_XIM ++ void IMEDestroyContext(void); ++ void IMESetFocus(void); ++ void IMELoseFocus(void); + void IMEComposeStart(void); + void IMEComposeText(const PRUnichar *aText, + const PRInt32 aLen, +@@ -249,9 +252,13 @@ + void IMEGetShellWindow(void); + GtkIMContext* IMEGetContext(void); + void IMECreateContext(GdkWindow* aGdkWindow); +- ++ PRBool IMFilterKeypress (GtkIMContext *context, ++ GdkEventKey *aEvent); ++ + nsWindow* mIMEShellWindow; + static PLDHashTable gXICLookupTable; ++ static GdkEventKey* gIMEKeyEvent; ++ static PRBool gIMEStringCommited; + #endif + + private: |