WebPopupMenuProxyGtk::~WebPopupMenuProxyGtk() { if (m_popup) { g_signal_handlers_disconnect_matched(m_popup, G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, this); hidePopupMenu(); gtk_widget_destroy(m_popup); } }
void WebPopupMenuProxyGtk::cancelTracking() { if (!m_popup) return; g_signal_handlers_disconnect_matched(m_popup, G_SIGNAL_MATCH_DATA, 0, 0, nullptr, nullptr, this); hidePopupMenu(); gtk_widget_destroy(m_popup); m_popup = nullptr; }