Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
authorCarlos Garcia Campos <carlosgc@gnome.org>2007-09-03 09:20:41 (GMT)
committer Carlos Garcia Campos <carlosgc@src.gnome.org>2007-09-03 09:20:41 (GMT)
commitc12e2f7c2d59af4e4f5fddec97f24970e6d9d5c4 (patch)
tree6a478f82a39532e6c4d01a9c3f2f8e1b265e629f /shell
parent850816958d117bbd0b41e572d78ecc1c1c415659 (diff)
Use always drag mouse cursor during a drag operation. Fixes bug #470564.
2007-09-03 Carlos Garcia Campos <carlosgc@gnome.org> * 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
Diffstat (limited to 'shell')
-rw-r--r--shell/ev-view.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/shell/ev-view.c b/shell/ev-view.c
index cbdffd8..60f82e3 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)