[gtkhtml] Bug #366035 - Header expander image drag drop crash



commit 9b9350eeb57de75daf43f97a0ecb7edcf953f798
Author: Milan Crha <mcrha redhat com>
Date:   Thu Dec 17 13:34:57 2009 +0100

    Bug #366035 - Header expander image drag drop crash

 gtkhtml/gtkhtml.c |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)
---
diff --git a/gtkhtml/gtkhtml.c b/gtkhtml/gtkhtml.c
index 87cb5ba..35b3a53 100644
--- a/gtkhtml/gtkhtml.c
+++ b/gtkhtml/gtkhtml.c
@@ -2519,8 +2519,14 @@ drag_begin (GtkWidget *widget, GdkDragContext *context)
 static void
 drag_end (GtkWidget *widget, GdkDragContext *context)
 {
+	GtkHTML *html;
+
 	/* printf ("drag_end\n"); */
-	GTK_HTML (widget)->priv->dnd_in_progress = FALSE;
+	g_return_if_fail (GTK_IS_HTML (widget));
+
+	html = GTK_HTML (widget);
+	if (html->priv)
+		html->priv->dnd_in_progress = FALSE;
 }
 
 static void
@@ -3268,9 +3274,14 @@ gtk_html_im_preedit_changed_cb (GtkIMContext *context, GtkHTML *html)
 		      html->engine->cursor ? html->engine->cursor->position : 0, html->engine->cursor,
 		      html->engine->mark ? html->engine->mark->position : 0, html->engine->mark,
 		      html_engine_is_selection_active (html->engine));)
+
+	if (!html->engine->cursor) {
+		return;
+	}
+
 	html->priv->im_block_reset = TRUE;
 
-	if (html_engine_is_selection_active (html->engine)) {
+	if (html->engine->mark && html_engine_is_selection_active (html->engine)) {
 		D_IM (printf ("IM push selection\n");)
 		html_engine_selection_push (html->engine);
 		html_engine_disable_selection (html->engine);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]