From: Carlos Garcia Campos Date: Mon, 3 Sep 2007 09:20:41 +0000 (+0000) Subject: Use always drag mouse cursor during a drag operation. Fixes bug #470564. X-Git-Tag: EVINCE_2_19_92~9 X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=commitdiff_plain;h=c12e2f7c2d59af4e4f5fddec97f24970e6d9d5c4;p=evince.git Use always drag mouse cursor during a drag operation. Fixes bug #470564. 2007-09-03 Carlos Garcia Campos * shell/ev-view.c: (ev_view_handle_cursor_over_xy), (ev_view_button_release_event), (ev_view_leave_notify_event): Use always drag mouse cursor during a drag operation. Fixes bug #470564. svn path=/trunk/; revision=2653 --- diff --git a/ChangeLog b/ChangeLog index 09aa23a3..9dedb5b9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2007-09-03 Carlos Garcia Campos + + * shell/ev-view.c: (ev_view_handle_cursor_over_xy), + (ev_view_button_release_event), (ev_view_leave_notify_event): + + Use always drag mouse cursor during a drag operation. Fixes bug + #470564. + 2007-09-02 Carlos Garcia Campos * backend/pdf/ev-poppler.cc: (pdf_selection_get_selected_text), diff --git a/shell/ev-view.c b/shell/ev-view.c index cbdffd80..60f82e3d 100644 --- a/shell/ev-view.c +++ b/shell/ev-view.c @@ -1498,6 +1498,12 @@ ev_view_handle_cursor_over_xy (EvView *view, gint x, gint y) if (view->cursor == EV_VIEW_CURSOR_HIDDEN) return; + + if (view->drag_info.in_drag) { + if (view->cursor != EV_VIEW_CURSOR_DRAG) + ev_view_set_cursor (view, EV_VIEW_CURSOR_DRAG); + return; + } link = ev_view_get_link_at_location (view, x, y); @@ -2981,21 +2987,20 @@ ev_view_button_release_event (GtkWidget *widget, GdkEventButton *event) { EvView *view = EV_VIEW (widget); - EvLink *link; + EvLink *link = NULL; + + view->drag_info.in_drag = FALSE; + view->image_dnd_info.in_drag = FALSE; if (view->pressed_button == 2) { - ev_view_set_cursor (view, EV_VIEW_CURSOR_NORMAL); + ev_view_handle_cursor_over_xy (view, event->x, event->y); } if (view->document && view->pressed_button != 3) { link = ev_view_get_link_at_location (view, event->x, event->y); - } else { - link = NULL; } view->pressed_button = -1; - view->drag_info.in_drag = FALSE; - view->image_dnd_info.in_drag = FALSE; if (view->selection_scroll_id) { g_source_remove (view->selection_scroll_id); @@ -3357,9 +3362,8 @@ static gboolean ev_view_leave_notify_event (GtkWidget *widget, GdkEventCrossing *event) { EvView *view = EV_VIEW (widget); - - if (view->cursor == EV_VIEW_CURSOR_LINK || - view->cursor == EV_VIEW_CURSOR_IBEAM) + + if (view->cursor != EV_VIEW_CURSOR_NORMAL) ev_view_set_cursor (view, EV_VIEW_CURSOR_NORMAL); #if !GTK_CHECK_VERSION (2, 11, 7)