aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog17
-rw-r--r--configure.ac24
-rw-r--r--lib/widgets/ephy-icon-entry.c8
-rw-r--r--lib/widgets/ephy-icon-entry.h2
-rw-r--r--src/ephy-window.c2
-rw-r--r--src/epiphany.defs41
6 files changed, 82 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index 7922da0f3..7ae744eee 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,22 @@
2005-08-07 Christian Persch <chpe@cvs.gnome.org>
+ * configure.ac:
+
+ Add switch to disable focus fix, and to disable PSM. Error out if
+ PSM isn't found but --disable-psm not given. Should prevent accidental
+ compilation without PSM.
+
+ * lib/widgets/ephy-icon-entry.c: (ephy_icon_entry_get_entry):
+ * lib/widgets/ephy-icon-entry.h:
+
+ Add ephy_icon_entry_get_entry.
+
+ * src/epiphany.defs:
+
+ Updated python bindings.
+
+2005-08-07 Christian Persch <chpe@cvs.gnome.org>
+
* embed/mozilla/mozilla-embed.cpp: (mozilla_embed_realize):
Also block GtkMozEmbed's child focus-[in|out]-event handlers.
diff --git a/configure.ac b/configure.ac
index 4ac173e36..f4cf9b0b1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -391,7 +391,7 @@ AC_COMPILE_IFELSE(
[[nsIX509Cert *c;
c->GetIssuer (nsnull);]]
)],
- [AC_DEFINE([HAVE_MOZILLA_PSM], [1],[Define if you have the mozilla psm headers installed]) have_psm=yes],
+ [AC_DEFINE([HAVE_MOZILLA_PSM], [1],[Define if you have the mozilla NSS headers installed]) have_psm=yes],
[have_psm=no])
AC_MSG_RESULT([$have_psm])
@@ -420,14 +420,34 @@ CXXFLAGS=$_SAVE_CXXFLAGS
AC_LANG_POP([C++])
dnl Broken everywhere
+dnl Provide a configure switch for easy testing of *real* fixes in gtkmozembed
-AC_DEFINE([GTKMOZEMBED_BROKEN_FOCUS],[1],[Define if GtkMozEmbed has broken focus handling])
+AC_ARG_ENABLE([--enable-focus-fix],
+ AS_HELP_STRING([focus-fix],[Enable the workaround for the broken GtkMozEmbed focus handling (default: enabled)])
+ [want_focus_fix=$enableval],
+ [want_focus_fix=yes])
+
+if test "x$want_focus_fix" = "xyes"; then
+ AC_DEFINE([GTKMOZEMBED_BROKEN_FOCUS],[1],[Define if GtkMozEmbed has broken focus handling])
+fi
dnl Needed since 1.8b2
dnl Define this down here so it doesn't affect the API checks above
AC_DEFINE([MOZILLA_INTERNAL_API],[1],[Define for access to internal mozilla API])
+dnl Make sure we don't accidentally build without PSM support
+AC_ARG_ENABLE([--disable-psm],
+ AS_HELP_STRING([psm],[Disable PSM support (default: enabled)]),
+ [want_psm=$enableval],
+ [want_psm=yes])
+
+if test "x$want_psm" = "xyes" -a "x$have_psm" = "xno"; then
+ AC_MSG_ERROR([PSM headers not found; use --disable-psm to disable building with PSM support])
+elif test "x$have_psm" = "xno"; then
+ AC_MSG_WARN([PSM headers not found; PSM support disabled])
+fi
+
dnl Not a simple file check due to the header being in the SDK since 1.8a6
dnl https://bugzilla.mozilla.org/show_bug.cgi?id=271068
diff --git a/lib/widgets/ephy-icon-entry.c b/lib/widgets/ephy-icon-entry.c
index 1ab2dc0b6..1950819fb 100644
--- a/lib/widgets/ephy-icon-entry.c
+++ b/lib/widgets/ephy-icon-entry.c
@@ -342,3 +342,11 @@ ephy_icon_entry_pack_widget (EphyIconEntry *entry,
gtk_box_pack_end (GTK_BOX (priv->hbox), widget, FALSE, FALSE, /* FIXME */ 2);
}
}
+
+GtkWidget *
+ephy_icon_entry_get_entry (EphyIconEntry *entry)
+{
+ g_return_val_if_fail (EPHY_IS_ICON_ENTRY (entry), NULL);
+
+ return entry->entry;
+}
diff --git a/lib/widgets/ephy-icon-entry.h b/lib/widgets/ephy-icon-entry.h
index 5077a0ecd..adff95628 100644
--- a/lib/widgets/ephy-icon-entry.h
+++ b/lib/widgets/ephy-icon-entry.h
@@ -69,6 +69,8 @@ void ephy_icon_entry_pack_widget (EphyIconEntry *entry,
GtkWidget *widget,
gboolean start);
+GtkWidget *ephy_icon_entry_get_entry (EphyIconEntry *entry);
+
G_END_DECLS
#endif
diff --git a/src/ephy-window.c b/src/ephy-window.c
index 42808fa86..538d6eddc 100644
--- a/src/ephy-window.c
+++ b/src/ephy-window.c
@@ -1611,7 +1611,7 @@ embed_popup_deactivate_cb (GtkWidget *popup,
/* Unref the event from idle since we still need it
* from the action callbacks which will run before idle.
*/
- if (priv->idle_worker == 0)
+ if (priv->idle_worker == 0 && priv->context_event != NULL)
{
priv->idle_worker =
g_idle_add ((GSourceFunc) idle_unref_context_event, window);
diff --git a/src/epiphany.defs b/src/epiphany.defs
index 4f5820334..5925d1075 100644
--- a/src/epiphany.defs
+++ b/src/epiphany.defs
@@ -804,6 +804,11 @@
(return-type "GType")
)
+(define-function ephy_embed_shell_get_default
+ (c-name "ephy_embed_shell_get_default")
+ (return-type "EphyEmbedShell*")
+)
+
(define-method get_favicon_cache
(of-object "EphyEmbedShell")
(c-name "ephy_embed_shell_get_favicon_cache")
@@ -2950,6 +2955,18 @@
(return-type "GtkWidget*")
)
+(define-method get_tooltips
+ (of-object "EphyStatusbar")
+ (c-name "ephy_statusbar_get_tooltips")
+ (return-type "GtkTooltips*")
+)
+
+(define-method get_security_frame
+ (of-object "EphyStatusbar")
+ (c-name "ephy_statusbar_get_security_frame")
+ (return-type "GtkWidget*")
+)
+
(define-method set_security_state
(of-object "EphyStatusbar")
(c-name "ephy_statusbar_set_security_state")
@@ -3032,6 +3049,12 @@
(return-type "EphyEmbedDocumentType")
)
+(define-method get_icon
+ (of-object "EphyTab")
+ (c-name "ephy_tab_get_icon")
+ (return-type "GdkPixbuf*")
+)
+
(define-method get_icon_address
(of-object "EphyTab")
(c-name "ephy_tab_get_icon_address")
@@ -3056,15 +3079,6 @@
(return-type "int")
)
-(define-method set_typed_address
- (of-object "EphyTab")
- (c-name "ephy_tab_set_typed_address")
- (return-type "none")
- (parameters
- '("const-char*" "address")
- )
-)
-
(define-method get_address
(of-object "EphyTab")
(c-name "ephy_tab_get_address")
@@ -3077,6 +3091,15 @@
(return-type "const-char*")
)
+(define-method set_typed_address
+ (of-object "EphyTab")
+ (c-name "ephy_tab_set_typed_address")
+ (return-type "none")
+ (parameters
+ '("const-char*" "address")
+ )
+)
+
(define-method get_navigation_flags
(of-object "EphyTab")
(c-name "ephy_tab_get_navigation_flags")