Index: libwnck/tasklist.c
===================================================================
RCS file: /cvs/gnome/libwnck/libwnck/tasklist.c,v
retrieving revision 1.93
diff -p -u -r1.93 tasklist.c
--- libwnck/tasklist.c	21 Jan 2006 20:06:17 -0000	1.93
+++ libwnck/tasklist.c	22 Jan 2006 18:51:24 -0000
@@ -2822,10 +2822,11 @@ wnck_task_state_changed (WnckWindow     
       (changed_mask & WNCK_WINDOW_STATE_DEMANDS_ATTENTION) ||
       (changed_mask & WNCK_WINDOW_STATE_URGENT))
     {
-      WnckTask *win_task;
+      WnckTask *win_task = NULL;
 
-      win_task = g_hash_table_lookup (tasklist->priv->win_hash,
-						window);
+      /* FIXME: Handle group modal dialogs */
+      for (; window && !win_task; window = wnck_window_get_transient (window))
+        win_task = g_hash_table_lookup (tasklist->priv->win_hash, window);
 
       if (win_task)
 	{
@@ -2833,7 +2834,9 @@ wnck_task_state_changed (WnckWindow     
 
 	  wnck_task_update_visible_state (win_task);
 	  
-	  class_group_task = g_hash_table_lookup (tasklist->priv->class_group_hash, win_task->class_group);
+	  class_group_task =
+            g_hash_table_lookup (tasklist->priv->class_group_hash,
+                                 win_task->class_group);
 
 	  if (class_group_task)
 	    wnck_task_update_visible_state (class_group_task);
