[evince] [libview] Compute selections on button press for word/line selections



commit 4b8d7a403800d654bc3e47abb8fd98c76b37d859
Author: Carlos Garcia Campos <carlosgc gnome org>
Date:   Sun Jul 12 16:56:22 2009 +0200

    [libview] Compute selections on button press for word/line selections
    
    Fixes bgo#562059.

 libview/ev-view.c |   26 ++++++++++----------------
 1 files changed, 10 insertions(+), 16 deletions(-)
---
diff --git a/libview/ev-view.c b/libview/ev-view.c
index f69b7b0..6132363 100644
--- a/libview/ev-view.c
+++ b/libview/ev-view.c
@@ -3018,26 +3018,28 @@ static void
 start_selection_for_event (EvView         *view,
 			   GdkEventButton *event)
 {
-	EvSelectionStyle style;
-
 	clear_selection (view);
-	
+
 	view->selection_info.start.x = event->x + view->scroll_x;
 	view->selection_info.start.y = event->y + view->scroll_y;
 
 	switch (event->type) {
 	        case GDK_2BUTTON_PRESS:
-			style = EV_SELECTION_STYLE_WORD;
+			view->selection_info.style = EV_SELECTION_STYLE_WORD;
 			break;
 	        case GDK_3BUTTON_PRESS:
-			style = EV_SELECTION_STYLE_LINE;
+			view->selection_info.style = EV_SELECTION_STYLE_LINE;
 			break;
 	        default:
-			style = EV_SELECTION_STYLE_GLYPH;
-			break;
+			view->selection_info.style = EV_SELECTION_STYLE_GLYPH;
+			return;
 	}
 
-	view->selection_info.style = style;
+	/* In case of WORD or LINE, compute selections now */
+	compute_selections (view,
+			    view->selection_info.style,
+			    &(view->selection_info.start),
+			    &(view->selection_info.start));
 }
 
 static gboolean
@@ -3520,14 +3522,6 @@ ev_view_button_release_event (GtkWidget      *widget,
 	    view->selection_update_id = 0;
 	}
 
-	if (!view->selection_info.in_selection &&
-	    view->selection_info.style != EV_SELECTION_STYLE_GLYPH) {
-		compute_selections (view,
-				    view->selection_info.style,
-				    &(view->selection_info.start),
-				    &(view->selection_info.start));
-	}
-
 	if (view->selection_info.selections) {
 		clear_link_selected (view);
 		ev_view_update_primary_selection (view);



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