diff -u -r libwnck-2.26.1/libwnck/selector.c libwnck-2.26.1.hacked/libwnck/selector.c
--- libwnck-2.26.1/libwnck/selector.c	2009-04-13 18:01:04.000000000 -0400
+++ libwnck-2.26.1.hacked/libwnck/selector.c	2009-06-25 16:15:59.486499038 -0400
@@ -1012,81 +1012,6 @@
   selector->priv->no_windows_item = NULL;
 }
 
-static gboolean
-wnck_selector_scroll_cb (WnckSelector *selector,
-                         GdkEventScroll *event,
-                         gpointer user_data)
-{
-  WnckScreen *screen;
-  WnckWorkspace *workspace;
-  GList *windows_list;
-  GList *l;
-  WnckWindow *window;
-  WnckWindow *previous_window;
-  gboolean should_activate_next_window;
-
-  screen = wnck_selector_get_screen (selector);
-  workspace = wnck_screen_get_active_workspace (screen);
-  windows_list = wnck_screen_get_windows (screen);
-  windows_list = g_list_sort (windows_list, wnck_selector_windows_compare);
-
-  /* Walk through the list of windows until we find the active one
-   * (considering only those windows on the same workspace).
-   * Then, depending on whether we're scrolling up or down, activate the next
-   * window in the list (if it exists), or the previous one.
-   */
-  previous_window = NULL;
-  should_activate_next_window = FALSE;
-  for (l = windows_list; l; l = l->next)
-    {
-      window = WNCK_WINDOW (l->data);
-
-      if (wnck_window_is_skip_tasklist (window))
-        continue;
-
-      if (workspace && !wnck_window_is_pinned (window) &&
-          wnck_window_get_workspace (window) != workspace)
-        continue;
-
-      if (should_activate_next_window)
-        {
-          wnck_window_activate_transient (window, event->time);
-          return TRUE;
-        }
-
-      if (wnck_window_is_active (window))
-        {
-          switch (event->direction)
-            {
-              case GDK_SCROLL_UP:
-                if (previous_window != NULL)
-                  {
-                    wnck_window_activate_transient (previous_window,
-                                                    event->time);
-                    return TRUE;
-                  }
-              break;
-
-              case GDK_SCROLL_DOWN:
-                should_activate_next_window = TRUE;
-              break;
-
-              case GDK_SCROLL_LEFT:
-              case GDK_SCROLL_RIGHT:
-                /* We ignore LEFT and RIGHT scroll events. */
-              break;
-
-              default:
-                g_assert_not_reached ();
-            }
-        }
-
-      previous_window = window;
-    }
-  
-  return TRUE;
-}
-
 static void
 wnck_selector_menu_hidden (GtkWidget *menu, WnckSelector *selector)
 {
@@ -1182,9 +1107,6 @@
 {
   GtkWidget *menu_item;
 
-  g_signal_connect (selector, "scroll-event",
-                    G_CALLBACK (wnck_selector_scroll_cb), selector);
-
   menu_item = gtk_menu_item_new ();
   gtk_widget_show (menu_item);
   gtk_menu_shell_append (GTK_MENU_SHELL (selector), menu_item);
diff -u -r libwnck-2.26.1/libwnck/tasklist.c libwnck-2.26.1.hacked/libwnck/tasklist.c
--- libwnck-2.26.1/libwnck/tasklist.c	2009-04-13 18:01:04.000000000 -0400
+++ libwnck-2.26.1.hacked/libwnck/tasklist.c	2009-06-25 16:14:27.005456393 -0400
@@ -307,9 +307,6 @@
                                              gpointer          callback_data);
 static void     wnck_tasklist_remove	    (GtkContainer   *container,
 					     GtkWidget	    *widget);
-static gboolean wnck_tasklist_scroll_cb     (WnckTasklist   *tasklist,
-                                             GdkEventScroll *event,
-                                             gpointer        user_data);
 static void     wnck_tasklist_free_tasks    (WnckTasklist   *tasklist);
 static void     wnck_tasklist_update_lists  (WnckTasklist   *tasklist);
 static int      wnck_tasklist_layout        (GtkAllocation  *allocation,
@@ -830,9 +827,6 @@
                                                       n_construct_properties,
                                                       construct_properties);
 
-  g_signal_connect (obj, "scroll-event",
-                    G_CALLBACK (wnck_tasklist_scroll_cb), NULL);
-
   return obj;
 }
 
@@ -1987,128 +1981,6 @@
 {
 }
 
-static gboolean
-wnck_tasklist_scroll_cb (WnckTasklist *tasklist,
-                         GdkEventScroll *event,
-                         gpointer user_data)
-{
-  /* use the fact that tasklist->priv->windows is sorted
-   * see wnck_tasklist_size_allocate() */
-  GtkTextDirection ltr;
-  GList *window;
-  gint row = 0;
-  gint col = 0;
-
-  window = g_list_find (tasklist->priv->windows,
-                        tasklist->priv->active_task);
-  if (window)
-    {
-      row = WNCK_TASK (window->data)->row;
-      col = WNCK_TASK (window->data)->col;
-    }
-  else
-    if (tasklist->priv->activate_timeout_id)
-      /* There is no active_task yet, but there will be one after the timeout.
-       * It occurs if we change the active task too fast. */
-      return TRUE;
-
-  ltr = (gtk_widget_get_direction (GTK_WIDGET (tasklist)) != GTK_TEXT_DIR_RTL);
-
-  switch (event->direction)
-    {
-      case GDK_SCROLL_UP:
-        if (!window)
-          window = g_list_last (tasklist->priv->windows);
-        else
-          window = window->prev;
-      break;
-
-      case GDK_SCROLL_DOWN:
-        if (!window)
-          window = tasklist->priv->windows;
-        else
-          window = window->next;
-      break;
-
-#define TASKLIST_GET_MOST_LEFT(ltr, window, tasklist)   \
-  do                                                    \
-    {                                                   \
-      if (ltr)                                          \
-        window = tasklist->priv->windows;               \
-      else                                              \
-        window = g_list_last (tasklist->priv->windows); \
-    } while (0)
-
-#define TASKLIST_GET_MOST_RIGHT(ltr, window, tasklist)  \
-  do                                                    \
-    {                                                   \
-      if (ltr)                                          \
-        window = g_list_last (tasklist->priv->windows); \
-      else                                              \
-        window = tasklist->priv->windows;               \
-    } while (0)
-
-      case GDK_SCROLL_LEFT:
-        if (!window)
-          TASKLIST_GET_MOST_RIGHT (ltr, window, tasklist);
-        else
-          {
-            /* Search the first window on the previous colomn at same row */
-            if (ltr)
-              {
-                while (window && (WNCK_TASK(window->data)->row != row ||
-                                  WNCK_TASK(window->data)->col != col-1))
-                  window = window->prev;
-              }
-            else
-              {
-                while (window && (WNCK_TASK(window->data)->row != row ||
-                                  WNCK_TASK(window->data)->col != col-1))
-                  window = window->next;
-              }
-            /* If no window found, select the top/bottom left one */
-            if (!window)
-              TASKLIST_GET_MOST_LEFT (ltr, window, tasklist);
-          }
-      break;
-
-      case GDK_SCROLL_RIGHT:
-        if (!window)
-          TASKLIST_GET_MOST_LEFT (ltr, window, tasklist);
-        else
-          {
-            /* Search the first window on the next colomn at same row */
-            if (ltr)
-              {
-                while (window && (WNCK_TASK(window->data)->row != row ||
-                                  WNCK_TASK(window->data)->col != col+1))
-                  window = window->next;
-              }
-            else
-              {
-                while (window && (WNCK_TASK(window->data)->row != row ||
-                                  WNCK_TASK(window->data)->col != col+1))
-                  window = window->prev;
-              }
-            /* If no window found, select the top/bottom right one */
-            if (!window)
-              TASKLIST_GET_MOST_RIGHT (ltr, window, tasklist);
-          }
-      break;
-
-#undef TASKLIST_GET_MOST_LEFT
-#undef TASKLIST_GET_MOST_RIGHT
-
-      default:
-        g_assert_not_reached ();
-    }
-
-  if (window)
-    wnck_tasklist_activate_task_window (window->data, event->time);
-
-  return TRUE;
-}
-
 /**
  * wnck_tasklist_new:
  * @screen: deprecated argument, can be %NULL.
