rcaelers/workrave — comment on commit bcedcfe11609969e0a67b4cf8104011d4860e203
File:  line 0
By jay:

good news - main window no longer shows as visibly minimized when gui/main_window/enabled == 0 on start

bad news - i get segfaults when quitting. should the signal be going off in the destructor? from ~MainWindow to ~Window and then on_visibility_changed() is called. at that point is_visible() will cause a segfault because there is no gobj to deref. if i skip past that it looks like this
```
29Feb2012 01:34:34 >>> Menus::on_menu_quit
29Feb2012 01:34:34 >>> GUI::terminate
29Feb2012 01:34:34 >>> Configurator::save
29Feb2012 01:34:34 <<< Configurator::save1
29Feb2012 01:34:34 >>> GUI::collect_garbage
29Feb2012 01:34:34 <<< GUI::collect_garbage
29Feb2012 01:34:34 <<< GUI::terminate
29Feb2012 01:34:34 <<< Menus::on_menu_quit
29Feb2012 01:34:34 >>> MainWindow::~MainWindow
29Feb2012 01:34:34 >>> MainWindow::win32_window_proc 144 0
29Feb2012 01:34:34 <<< MainWindow::win32_window_proc
29Feb2012 01:34:34 >>> GUI::win32_filter_func
29Feb2012 01:34:34 <<< GUI::win32_filter_func
29Feb2012 01:34:34 >>> GUI::win32_filter_func
29Feb2012 01:34:34 <<< GUI::win32_filter_func
29Feb2012 01:34:34 >>> MainWindow::win32_window_proc 2 0
29Feb2012 01:34:34 <<< MainWindow::win32_window_proc
29Feb2012 01:34:34 >>> MainWindow::win32_window_proc 130 0
29Feb2012 01:34:34 <<< MainWindow::win32_window_proc
29Feb2012 01:34:34 <<< MainWindow::~MainWindow
29Feb2012 01:34:34 >>> MainWindow::on_visibility_changed
29Feb2012 01:34:34 MainWindow::on_visibility_changed 0
```
visibility_changed_signal still exists at this point but emit fails

Unhandled exception at 0x01370ac1 in workrave.exe: 0xC0000005: Access violation reading location 0xdddddde1.
```
>	workrave.exe!std::_Iterator_base12::_Adopt(const std::_Container_base12 * _Parent) Line 158 + 0x6 bytes	C++
workrave.exe!std::_List_unchecked_const_iterator >,std::_Iterator_base12>::_List_unchecked_const_iterator >,std::_Iterator_base12>(std::_List_nod >::_Node * _Pnode, const std::_List_val > * _Plist) Line 43	C++
workrave.exe!std::_List_const_iterator > >::_List_const_iterator > >(std::_List_nod >::_Node * _Pnode, const std::_List_val > * _Plist) Line 185	C++
workrave.exe!std::_List_iterator > >::_List_iterator > >(std::_List_nod >::_Node * _Pnode, const std::_List_val > * _Plist) Line 343	C++
workrave.exe!std::list >::end() Line 792 + 0x13 bytes	C++
workrave.exe!sigc::internal::temp_slot_list::temp_slot_list(std::list > & slots) Line 182 + 0x43 bytes	C++
workrave.exe!sigc::internal::signal_emit0::emit(sigc::internal::signal_impl * impl) Line 766 + 0xf bytes	C++
workrave.exe!sigc::signal0::emit() Line 2667 + 0x2f bytes	C++
workrave.exe!MainWindow::on_visibility_changed() Line 851	C++
workrave.exe!sigc::bound_mem_functor0::operator()() Line 1787 + 0x5f bytes	C++
workrave.exe!sigc::adaptor_functor >::operator()() Line 251 + 0x2b bytes	C++
workrave.exe!sigc::internal::slot_call0,void>::call_it(sigc::internal::slot_rep * rep) Line 104	C++
glibmm-vc100-d-2_4.dll!sigc::slot0::operator()() Line 440 + 0x12 bytes	C++
glibmm-vc100-d-2_4.dll!Glib::PropertyProxyConnectionNode::callback(_GObject * __formal, _GParamSpec * pspec, void * data) Line 45	C++
libgobject-2.0-0.dll!63a45aca()
[Frames below may be incorrect and/or missing, no symbols loaded for libgobject-2.0-0.dll]
libgobject-2.0-0.dll!63a567e4()
libgobject-2.0-0.dll!63a5dcd6()
libglib-2.0-0.dll!6860dcb7()
libglib-2.0-0.dll!685e0e49()
libgtk-win32-2.0-0.dll!01b9cea7()
gtkmm-vc100-d-2_4.dll!Gtk::Window_Class::dispose_vfunc_callback(_GObject * self) Line 202 + 0xe bytes	C++
libgobject-2.0-0.dll!63a48d09()
gtkmm-vc100-d-2_4.dll!Gtk::Window::destroy_() Line 106	C++
gtkmm-vc100-d-2_4.dll!Gtk::Window::~Window() Line 635	C++
workrave.exe!MainWindow::~MainWindow() Line 95 + 0x58 bytes	C++
workrave.exe!MainWindow::`vbase destructor'() + 0x2b bytes	C++
workrave.exe!MainWindow::`scalar deleting destructor'() + 0x2b bytes	C++
workrave.exe!GUI::main() Line 232 + 0x3b bytes	C++
workrave.exe!run(int argc, char * * argv) Line 66	C++
workrave.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, char * szCmdLine, int iCmdShow) Line 108 + 0xb bytes	C++
workrave.exe!__tmainCRTStartup() Line 547 + 0x2c bytes	C
workrave.exe!WinMainCRTStartup() Line 371	C
kernel32.dll!@BaseThreadInitThunk@12() + 0x12 bytes
ntdll.dll!___RtlUserThreadStart@8() + 0x27 bytes
ntdll.dll!__RtlUserThreadStart@8() + 0x1b bytes
```