diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/stardict-view.c | 8 | 
1 files changed, 7 insertions, 1 deletions
| diff --git a/src/stardict-view.c b/src/stardict-view.c index 056c240..610b20a 100644 --- a/src/stardict-view.c +++ b/src/stardict-view.c @@ -659,11 +659,17 @@ reset_hover_for_event (StardictView *self, guint state, int x, int y)  	if ((state &= gtk_accelerator_get_default_mod_mask ()) != GDK_CONTROL_MASK)  		return; +	GdkWindow *window = gtk_widget_get_window (GTK_WIDGET (self)); +	if (x < 0 +	 || y < 0 +	 || x >= gdk_window_get_width (window) +	 || y >= gdk_window_get_height (window)) +		return; +  	g_weak_ref_set (&self->hover,  		locate_word_at (self, x, y, &self->hover_begin, &self->hover_end));  	gtk_widget_queue_draw (GTK_WIDGET (self)); -	GdkWindow *window = gtk_widget_get_window (GTK_WIDGET (self));  	GdkCursor *cursor = gdk_cursor_new_from_name  		(gdk_window_get_display (window), "pointer");  	gdk_window_set_cursor (window, cursor); | 
