diff options
-rw-r--r-- | vcl/unx/gtk3/gtk3gtkinst.cxx | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx index 28ef5090b1fd..e956f4a3c93b 100644 --- a/vcl/unx/gtk3/gtk3gtkinst.cxx +++ b/vcl/unx/gtk3/gtk3gtkinst.cxx @@ -2514,9 +2514,23 @@ public: return OUString(pStr, pStr ? strlen(pStr) : 0, RTL_TEXTENCODING_UTF8); } + virtual void disable_notify_events() override + { + g_signal_handler_block(m_pNotebook, m_nSignalId); + GtkInstanceContainer::disable_notify_events(); + } + + virtual void enable_notify_events() override + { + GtkInstanceContainer::enable_notify_events(); + g_signal_handler_unblock(m_pNotebook, m_nSignalId); + } + virtual void remove_page(const OString& rIdent) override { + disable_notify_events(); gtk_notebook_remove_page(m_pNotebook, get_page_number(rIdent)); + enable_notify_events(); } virtual ~GtkInstanceNotebook() override |