void quit() { debug_printf ("Quitting.\n"); prefs_set_stream_prefs (&g_rmo, "stream defaults"); prefs_set_wstreamripper_prefs (&g_gui_prefs); prefs_save (); CloseHandle (m_hpipe_exe_read); CloseHandle (m_hpipe_exe_write); if (m_bRipping) rip_manager_stop (m_rmi); rip_manager_cleanup (); debug_printf ("Going to render_destroy()...\n"); render_destroy(); debug_printf ("Going to DestroyWindow()...\n"); DestroyWindow(m_hwnd); Shell_NotifyIcon(NIM_DELETE, &m_nid); DestroyIcon(m_nid.hIcon); debug_printf ("Going to UnregisterClass()...\n"); UnregisterClass(m_szWindowClass, m_hinstance); // unregister window class debug_printf ("Finished UnregisterClass()\n"); }
GLWindow::~GLWindow() { killTimer(timer_id); render_destroy(); }