diff -Nru gnome-panel-2.26.2/debian/changelog gnome-panel-2.26.2/debian/changelog --- gnome-panel-2.26.2/debian/changelog 2009-07-01 12:01:00.000000000 -0700 +++ gnome-panel-2.26.2/debian/changelog 2009-07-01 12:01:00.000000000 -0700 @@ -1,3 +1,11 @@ +gnome-panel (1:2.26.2-1ubuntu2) karmic; urgency=low + + * Add 31_noscroll.patch: Disable workspace changing via scrollwheel by + default, unless the "scroll_enabled" gconf key is set to true. + (LP: #147230, #150443) + + -- Bryce Harrington Wed, 01 Jul 2009 10:30:58 -0700 + gnome-panel (1:2.26.2-1ubuntu1) karmic; urgency=low * Rebase on Debian unstable (LP: #388263): diff -Nru gnome-panel-2.26.2/debian/patches/31_noscroll.patch gnome-panel-2.26.2/debian/patches/31_noscroll.patch --- gnome-panel-2.26.2/debian/patches/31_noscroll.patch 1969-12-31 16:00:00.000000000 -0800 +++ gnome-panel-2.26.2/debian/patches/31_noscroll.patch 2009-07-01 12:01:00.000000000 -0700 @@ -0,0 +1,81 @@ +diff -Nurp gnome-panel-2.26.2/applets/wncklet/workspace-switcher.c working/applets/wncklet/workspace-switcher.c +--- gnome-panel-2.26.2/applets/wncklet/workspace-switcher.c 2009-04-19 10:45:09.000000000 -0700 ++++ working/applets/wncklet/workspace-switcher.c 2009-07-01 10:29:40.000000000 -0700 +@@ -75,9 +75,10 @@ typedef struct { + int n_rows; /* for vertical layout this is cols */ + WnckPagerDisplayMode display_mode; + gboolean display_all; ++ gboolean scroll_enabled; + + /* gconf listeners id */ +- guint listeners [3]; ++ guint listeners [4]; + } PagerData; + + static void display_properties_dialog (BonoboUIComponent *uic, +@@ -252,6 +253,9 @@ applet_scroll (PanelApplet *applet, + if (event->type != GDK_SCROLL) + return FALSE; + ++ if (pager->scroll_enabled == FALSE) ++ return FALSE; ++ + index = wnck_workspace_get_number (wnck_screen_get_active_workspace (pager->screen)); + n_workspaces = wnck_screen_get_workspace_count (pager->screen); + n_columns = n_workspaces / pager->n_rows; +@@ -426,6 +430,23 @@ all_workspaces_changed (GConfClient *cli + } + } + ++ ++static void ++scroll_enabled_changed (GConfClient *client, ++ guint cnxn_id, ++ GConfEntry *entry, ++ PagerData *pager) ++{ ++ gboolean value = FALSE; /* Default value */ ++ ++ if (entry->value != NULL && ++ entry->value->type == GCONF_VALUE_BOOL) { ++ value = gconf_value_get_bool (entry->value); ++ } ++ ++ pager->scroll_enabled = value; ++} ++ + static void + setup_gconf (PagerData *pager) + { +@@ -462,6 +483,16 @@ setup_gconf (PagerData *pager) + + g_free (key); + ++ ++ key = panel_applet_gconf_get_full_key (PANEL_APPLET (pager->applet), ++ "scroll_enabled"); ++ pager->listeners[3] = gconf_client_notify_add(client, key, ++ (GConfClientNotifyFunc)scroll_enabled_changed, ++ pager, ++ NULL, NULL); ++ ++ g_free (key); ++ + g_object_unref (G_OBJECT (client)); + + } +@@ -517,6 +548,14 @@ workspace_switcher_applet_fill (PanelApp + g_error_free (error); + /* leave current value */ + } ++ ++ pager->scroll_enabled = panel_applet_gconf_get_bool (applet, "scroll_enabled", &error); ++ if (error) { ++ g_printerr (_("Error loading scroll_enabled value for Workspace Switcher: %s\n"), ++ error->message); ++ g_error_free (error); ++ pager->scroll_enabled = FALSE; ++ } + + switch (panel_applet_get_orient (applet)) { + case PANEL_APPLET_ORIENT_LEFT: diff -Nru gnome-panel-2.26.2/debian/patches/series gnome-panel-2.26.2/debian/patches/series --- gnome-panel-2.26.2/debian/patches/series 2009-07-01 12:01:00.000000000 -0700 +++ gnome-panel-2.26.2/debian/patches/series 2009-07-01 12:01:00.000000000 -0700 @@ -11,6 +11,7 @@ #27_handle_overlapping_monitors.patch #28_prefer_lvds_monitor.patch 30_disable-initial-animation.patch +31_noscroll.patch 70_relibtoolize.patch 85_disable_shutdown_on_ltsp.patch 99_ltmain_as-needed.patch