gtkhtml r8792 - trunk/gtkhtml
- From: mcrha svn gnome org
- To: svn-commits-list gnome org
- Subject: gtkhtml r8792 - trunk/gtkhtml
- Date: Thu, 27 Mar 2008 10:31:16 +0000 (GMT)
Author: mcrha
Date: Thu Mar 27 10:31:16 2008
New Revision: 8792
URL: http://svn.gnome.org/viewvc/gtkhtml?rev=8792&view=rev
Log:
2008-03-27 Milan Crha <mcrha redhat com>
** Fix for bug #339093
* gtkhtml-private.h: (struct _GtkHTMLPrivate):
* gtkhtml.c: (key_press_event), (gtk_html_init), (command):
Skip ZOOM commands only when in non-editing mode and when not
invoked by key bindings.
Modified:
trunk/gtkhtml/ChangeLog
trunk/gtkhtml/gtkhtml-private.h
trunk/gtkhtml/gtkhtml.c
Modified: trunk/gtkhtml/gtkhtml-private.h
==============================================================================
--- trunk/gtkhtml/gtkhtml-private.h (original)
+++ trunk/gtkhtml/gtkhtml-private.h Thu Mar 27 10:31:16 2008
@@ -76,6 +76,8 @@
HTMLObject *resize_object;
gboolean in_url_test_mode;
+
+ gboolean in_key_binding;
};
void gtk_html_private_calc_scrollbars (GtkHTML *html,
Modified: trunk/gtkhtml/gtkhtml.c
==============================================================================
--- trunk/gtkhtml/gtkhtml.c (original)
+++ trunk/gtkhtml/gtkhtml.c Thu Mar 27 10:31:16 2008
@@ -1033,8 +1033,11 @@
if (html_class->use_emacs_bindings && html_class->emacs_bindings && !html->binding_handled)
gtk_binding_set_activate (html_class->emacs_bindings, event->keyval, event->state, GTK_OBJECT (widget));
- if (!html->binding_handled)
+ if (!html->binding_handled) {
+ html->priv->in_key_binding = TRUE;
retval = GTK_WIDGET_CLASS (parent_class)->key_press_event (widget, event);
+ html->priv->in_key_binding = FALSE;
+ }
retval = retval || html->binding_handled;
update = html->priv->update_styles;
@@ -3300,6 +3303,7 @@
html->priv->in_object_resize = FALSE;
html->priv->resize_cursor = gdk_cursor_new (GDK_BOTTOM_RIGHT_CORNER);
html->priv->in_url_test_mode = FALSE;
+ html->priv->in_key_binding = FALSE;
/* IM Context */
html->priv->im_context = gtk_im_multicontext_new ();
@@ -4829,15 +4833,25 @@
/* printf ("command %d %s\n", com_type, get_value_nick (com_type)); */
html->binding_handled = TRUE;
+ #define ensure_key_binding_not_editable() \
+ if (html->priv->in_key_binding && html_engine_get_editable (e)) { \
+ html->binding_handled = FALSE; \
+ rv = FALSE; \
+ break; \
+ }
+
/* non-editable + editable commands */
switch (com_type) {
case GTK_HTML_COMMAND_ZOOM_IN:
+ ensure_key_binding_not_editable ();
gtk_html_zoom_in (html);
break;
case GTK_HTML_COMMAND_ZOOM_OUT:
+ ensure_key_binding_not_editable ();
gtk_html_zoom_out (html);
break;
case GTK_HTML_COMMAND_ZOOM_RESET:
+ ensure_key_binding_not_editable ();
gtk_html_zoom_reset (html);
break;
case GTK_HTML_COMMAND_SEARCH_INCREMENTAL_FORWARD:
@@ -4913,6 +4927,8 @@
html->binding_handled = FALSE;
}
+ #undef ensure_key_binding_not_editable
+
if (!html_engine_get_editable (e) || html->binding_handled)
return rv;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]