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);
    }
}
Esempio n. 2
0
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;
}