diff -Nru remmina-1.0.0/debian/changelog remmina-1.0.0/debian/changelog --- remmina-1.0.0/debian/changelog 2012-03-22 12:42:00.000000000 +0100 +++ remmina-1.0.0/debian/changelog 2012-04-22 23:10:19.000000000 +0200 @@ -1,3 +1,10 @@ +remmina (1.0.0-1ubuntu6) precise-proposed; urgency=low + + * debian/patches/scroll_smooth.patch: fix scrolling with GDK_SCROLL_SMOOTH + (LP: #952964). + + -- Jean-Louis Dupond Sun, 22 Apr 2012 23:10:05 +0200 + remmina (1.0.0-1ubuntu5) precise; urgency=low * debian/control: build-depends on intltool diff -Nru remmina-1.0.0/debian/patches/scroll_smooth.patch remmina-1.0.0/debian/patches/scroll_smooth.patch --- remmina-1.0.0/debian/patches/scroll_smooth.patch 1970-01-01 01:00:00.000000000 +0100 +++ remmina-1.0.0/debian/patches/scroll_smooth.patch 2012-04-22 23:12:10.000000000 +0200 @@ -0,0 +1,74 @@ +commit fe1b698e4a6bba7783edcb3d0431e6acb24323f4 +Author: Jean-Louis Dupond +Date: Sun Apr 22 23:08:47 2012 +0200 + + Also handle GDK_SCROLL_SMOOTH + +diff --git a/remmina-plugins/rdp/rdp_event.c b/remmina-plugins/rdp/rdp_event.c +index de8e01f..3d3e67a 100644 +--- a/remmina-plugins/rdp/rdp_event.c ++++ b/remmina-plugins/rdp/rdp_event.c +@@ -377,6 +377,15 @@ static gboolean remmina_rdp_event_on_scroll(GtkWidget* widget, GdkEventScroll* e + case GDK_SCROLL_DOWN: + flag = PTR_FLAGS_WHEEL | PTR_FLAGS_WHEEL_NEGATIVE | 0x0088; + break; ++ ++ case GDK_SCROLL_SMOOTH: ++ if (event->delta_y < 0) ++ flag = PTR_FLAGS_WHEEL | 0x0078; ++ if (event->delta_y > 0) ++ flag = PTR_FLAGS_WHEEL | PTR_FLAGS_WHEEL_NEGATIVE | 0x0088; ++ if (!flag) ++ return FALSE; ++ break; + + default: + return FALSE; +diff --git a/remmina-plugins/vnc/vnc_plugin.c b/remmina-plugins/vnc/vnc_plugin.c +index 0321057..f000ccb 100644 +--- a/remmina-plugins/vnc/vnc_plugin.c ++++ b/remmina-plugins/vnc/vnc_plugin.c +@@ -1426,6 +1426,18 @@ static gboolean remmina_plugin_vnc_on_scroll(GtkWidget *widget, GdkEventScroll * + case GDK_SCROLL_RIGHT: + mask = (1 << 6); + break; ++ case GDK_SCROLL_SMOOTH: ++ if (event->delta_y < 0) ++ mask = (1 << 3); ++ if (event->delta_y > 0) ++ mask = (1 << 4); ++ if (event->delta_x < 0) ++ mask = (1 << 5); ++ if (event->delta_x > 0) ++ mask = (1 << 6); ++ if (!mask) ++ return FALSE; ++ break; + default: + return FALSE; + } +diff --git a/remmina/src/remmina_connection_window.c b/remmina/src/remmina_connection_window.c +index dfcc353..5487697 100644 +--- a/remmina/src/remmina_connection_window.c ++++ b/remmina/src/remmina_connection_window.c +@@ -1477,6 +1477,20 @@ static gboolean remmina_connection_holder_toolbar_scroll(GtkWidget* widget, GdkE + return TRUE; + } + break; ++ case GDK_SCROLL_SMOOTH: ++ if (event->delta_y < 0 && opacity > 0) ++ { ++ remmina_file_set_int(cnnobj->remmina_file, "toolbar_opacity", opacity - 1); ++ remmina_connection_holder_update_toolbar_opacity(cnnhld); ++ return TRUE; ++ } ++ if (event->delta_y > 0 && opacity < TOOLBAR_OPACITY_LEVEL) ++ { ++ remmina_file_set_int(cnnobj->remmina_file, "toolbar_opacity", opacity + 1); ++ remmina_connection_holder_update_toolbar_opacity(cnnhld); ++ return TRUE; ++ } ++ break; + default: + break; + } diff -Nru remmina-1.0.0/debian/patches/series remmina-1.0.0/debian/patches/series --- remmina-1.0.0/debian/patches/series 2012-03-22 11:44:48.000000000 +0100 +++ remmina-1.0.0/debian/patches/series 2012-04-22 23:12:23.000000000 +0200 @@ -5,3 +5,4 @@ install_desktop_file.patch unity_launcher_list.patch translations.patch +scroll_smooth.patch