* src/summaryview.c
authorAlfons Hoogervorst <alfons@proteus.demon.nl>
Tue, 24 Dec 2002 11:35:16 +0000 (11:35 +0000)
committerAlfons Hoogervorst <alfons@proteus.demon.nl>
Tue, 24 Dec 2002 11:35:16 +0000 (11:35 +0000)
summary_thread_build(): fix crash because of focus != selection
after threading. when deleting the selection, gtk tries but fails
to find the correct focusable element. we now force the selection
to be focused. this should solve the infamous bug reported by
Jason Wojciechowski (bug "[ 633443 ] Crash on deleting messages").
a test case is available.

ChangeLog.claws
configure.in
src/summaryview.c

index 392353f5e655109e3fb317a01e8e4faecb491d51..f20685a522d5db9df538813bf7bc8abc846407f7 100644 (file)
@@ -1,3 +1,13 @@
+2002-12-24 [alfons]    0.8.7claws3
+
+       * src/summaryview.c
+               summary_thread_build(): fix crash because of focus != selection 
+               after threading. when deleting the selection, gtk tries but fails 
+               to find the correct focusable element. we now force the selection
+               to be focused. this should solve the infamous bug reported by 
+               Jason Wojciechowski (bug "[ 633443 ] Crash on deleting messages"). 
+               a test case is available. 
+
 2002-12-24 [darko]     0.8.7claws2
 
        * src/summaryview.c
 2002-12-24 [darko]     0.8.7claws2
 
        * src/summaryview.c
index 47c8a5eeea5aec95da6d30e231c6f65fab3a9590..3979fba91489435fe7dc3deb395339c034666572 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=8
 MICRO_VERSION=7
 INTERFACE_AGE=0
 BINARY_AGE=0
 MICRO_VERSION=7
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=claws2
+EXTRA_VERSION=claws3
 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION
 
 dnl set $target
 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION
 
 dnl set $target
index f04c1b29a6221766fceada01ea1d6fd66d813e98..bec3c1c9a188cb8388d958d351cafa07b68e2b72 100644 (file)
@@ -3747,6 +3747,8 @@ void summary_thread_build(SummaryView *summaryview)
                node = next;
        }
 
                node = next;
        }
 
+       gtkut_ctree_set_focus_row(ctree, summaryview->selected);
+
        gtk_clist_thaw(GTK_CLIST(ctree));
        gtk_signal_handler_unblock_by_func(GTK_OBJECT(ctree),
                                           summary_tree_expanded, summaryview);
        gtk_clist_thaw(GTK_CLIST(ctree));
        gtk_signal_handler_unblock_by_func(GTK_OBJECT(ctree),
                                           summary_tree_expanded, summaryview);