]> www.fi.muni.cz Git - evince.git/blobdiff - libview/ev-annotation-window.c
[l10n] Updated German translation
[evince.git] / libview / ev-annotation-window.c
index 749d1a012ad53d7132bca109a2769ea10660bfd3..cbed0f74cc4e455678536b16b396551ac33e93e7 100644 (file)
@@ -454,8 +454,8 @@ ev_annotation_window_button_press_event (GtkWidget      *widget,
 
        if (event->type == GDK_BUTTON_PRESS && event->button == 1) {
                window->in_move = TRUE;
-               window->x = event->x;
-               window->y = event->y;
+               window->x = event->x_root - event->x;
+               window->y = event->y_root - event->y;
                gtk_window_begin_move_drag (GTK_WINDOW (widget),
                                            event->button,
                                            event->x_root,
@@ -489,8 +489,12 @@ ev_annotation_window_focus_in_event (GtkWidget     *widget,
        EvAnnotationWindow *window = EV_ANNOTATION_WINDOW (widget);
 
        if (window->in_move) {
-               window->orig_x = window->x;
-               window->orig_y = window->y;
+               if (window->orig_x != window->x || window->orig_y != window->y) {
+                       window->orig_x = window->x;
+                       window->orig_y = window->y;
+                       g_signal_emit (window, signals[MOVED], 0, window->x, window->y);
+               }
+               window->in_move = FALSE;
        }
 
        return FALSE;
@@ -502,12 +506,6 @@ ev_annotation_window_focus_out_event (GtkWidget     *widget,
 {
        EvAnnotationWindow *window = EV_ANNOTATION_WINDOW (widget);
 
-       if (window->in_move &&
-           (window->orig_x != window->x || window->orig_y != window->y)) {
-               window->in_move = FALSE;
-               g_signal_emit (window, signals[MOVED], 0, window->x, window->y);
-       }
-
        ev_annotation_window_sync_contents (window);
 
        return FALSE;