1
Description: fix scrolling in vnc & rdp plugin
3
remmina (1.0.0-1ubuntu6) precise-proposed; urgency=low
5
* debian/patches/scroll_smooth.patch: fix scrolling with GDK_SCROLL_SMOOTH
7
Author: Jean-Louis Dupond <jean-louis@dupond.be>
8
Bug-Ubuntu: https://bugs.launchpad.net/bugs/952964
10
--- remmina-1.0.0.orig/remmina-plugins/rdp/rdp_event.c
11
+++ remmina-1.0.0/remmina-plugins/rdp/rdp_event.c
12
@@ -377,6 +377,15 @@ static gboolean remmina_rdp_event_on_scr
14
flag = PTR_FLAGS_WHEEL | PTR_FLAGS_WHEEL_NEGATIVE | 0x0088;
17
+ case GDK_SCROLL_SMOOTH:
18
+ if (event->delta_y < 0)
19
+ flag = PTR_FLAGS_WHEEL | 0x0078;
20
+ if (event->delta_y > 0)
21
+ flag = PTR_FLAGS_WHEEL | PTR_FLAGS_WHEEL_NEGATIVE | 0x0088;
28
@@ -468,7 +477,7 @@ void remmina_rdp_event_init(RemminaProto
29
gtk_container_add(GTK_CONTAINER(gp), rfi->drawing_area);
31
gtk_widget_add_events(rfi->drawing_area, GDK_POINTER_MOTION_MASK | GDK_BUTTON_PRESS_MASK
32
- | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK);
33
+ | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_SCROLL_MASK);
34
gtk_widget_set_can_focus(rfi->drawing_area, TRUE);
36
remmina_plugin_service->protocol_plugin_register_hostkey(gp, rfi->drawing_area);
37
--- remmina-1.0.0.orig/remmina-plugins/vnc/vnc_plugin.c
38
+++ remmina-1.0.0/remmina-plugins/vnc/vnc_plugin.c
39
@@ -1426,6 +1426,18 @@ static gboolean remmina_plugin_vnc_on_sc
40
case GDK_SCROLL_RIGHT:
43
+ case GDK_SCROLL_SMOOTH:
44
+ if (event->delta_y < 0)
46
+ if (event->delta_y > 0)
48
+ if (event->delta_x < 0)
50
+ if (event->delta_x > 0)
58
@@ -1847,7 +1859,7 @@ static void remmina_plugin_vnc_init(Remm
59
gtk_widget_add_events(
61
GDK_POINTER_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK
62
- | GDK_KEY_RELEASE_MASK);
63
+ | GDK_KEY_RELEASE_MASK | GDK_SCROLL_MASK);
64
gtk_widget_set_can_focus(gpdata->drawing_area, TRUE);
67
--- remmina-1.0.0.orig/remmina/src/remmina_connection_window.c
68
+++ remmina-1.0.0/remmina/src/remmina_connection_window.c
69
@@ -1477,6 +1477,20 @@ static gboolean remmina_connection_holde
73
+ case GDK_SCROLL_SMOOTH:
74
+ if (event->delta_y < 0 && opacity > 0)
76
+ remmina_file_set_int(cnnobj->remmina_file, "toolbar_opacity", opacity - 1);
77
+ remmina_connection_holder_update_toolbar_opacity(cnnhld);
80
+ if (event->delta_y > 0 && opacity < TOOLBAR_OPACITY_LEVEL)
82
+ remmina_file_set_int(cnnobj->remmina_file, "toolbar_opacity", opacity + 1);
83
+ remmina_connection_holder_update_toolbar_opacity(cnnhld);