[Player-dev] CR/CN-Client: Fixed Crashes on Quit.
Daniel Yek dyek at real.comModified by: dyek at real.com Date: 9/26/2008 Project: RealPlayer for Netbook Synopsis: Fixed Crashes on Quit. Overview: The crashes on player quit turned out to be caused by "group_changed" signal being accidentally hooked up. When a radio menu item was being destroyed, "group_changed" signal is emitted and the callback invoked. Since the menu item is now standalone, it effectively became its own "toplevel". hxwindow_get_from_widget() eventually asserted because g_object_get_data() was called on the wrong toplevel. Now, the player quits cleaning. Files Modified: player/netbook/chrome/netbook.glade Image Size and Heap Use impact (Client -Only): None. Platforms and Profiles Affected: Linux Distribution Libraries Affected: None. Distribution library impact and planned action: None. Platforms and Profiles Build Verified: Profile: helix_client_all_define Platform: Fedora Platforms and Profiles Functionality verified: Profile: helix_client_all_define Platform: Fedora Branch: 310Atlas Copyright assignment: I am a RealNetworks employee. -- Daniel Yek. -------------- next part -------------- Index: player/netbook/chrome/netbook.glade =================================================================== RCS file: /cvsroot/player/netbook/chrome/netbook.glade,v retrieving revision 1.2.2.21 diff -u -w -r1.2.2.21 netbook.glade --- player/netbook/chrome/netbook.glade 26 Sep 2008 20:01:53 -0000 1.2.2.21 +++ player/netbook/chrome/netbook.glade 26 Sep 2008 22:40:52 -0000 @@ -201,7 +201,6 @@ <property name="active">True</property> <property name="draw_as_radio">True</property> <signal name="activate" handler="hmw_on_top_never"/> - <signal name="group_changed" handler="hmw_on_top_never"/> </widget> </child> <child> @@ -213,7 +212,6 @@ <property name="draw_as_radio">True</property> <property name="group">hmw_menu_item_never_on_top</property> <signal name="activate" handler="hmw_on_top_while_playing"/> - <signal name="group_changed" handler="hmw_on_top_while_playing"/> </widget> </child> <child> @@ -225,7 +223,6 @@ <property name="draw_as_radio">True</property> <property name="group">hmw_menu_item_never_on_top</property> <signal name="activate" handler="hmw_on_top_always"/> - <signal name="group_changed" handler="hmw_on_top_always"/> </widget> </child> </widget> @@ -252,7 +249,7 @@ <property name="label" translatable="yes">_Never</property> <property name="use_underline">True</property> <property name="draw_as_radio">True</property> - <signal name="group_changed" handler="hmw_clip_information_never"/> + <signal name="activate" handler="hmw_clip_information_never"/> </widget> </child> <child> @@ -264,7 +261,7 @@ <property name="active">True</property> <property name="draw_as_radio">True</property> <property name="group">hmw_menu_item_clip_info_never</property> - <signal name="group_changed" handler="hmw_clip_information_audio"/> + <signal name="activate" handler="hmw_clip_information_audio"/> </widget> </child> <child> @@ -274,7 +271,7 @@ <property name="use_underline">True</property> <property name="draw_as_radio">True</property> <property name="group">hmw_menu_item_clip_info_never</property> - <signal name="group_changed" handler="hmw_clip_information_always"/> + <signal name="activate" handler="hmw_clip_information_always"/> </widget> </child> </widget>