diff options
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/source/app/salvtables.cxx | 5 | ||||
-rw-r--r-- | vcl/unx/gtk3/gtk3gtkinst.cxx | 6 |
2 files changed, 6 insertions, 5 deletions
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx index 6b4dcd0a4032..83def998e546 100644 --- a/vcl/source/app/salvtables.cxx +++ b/vcl/source/app/salvtables.cxx @@ -2691,8 +2691,9 @@ public: IMPL_LINK(SalInstanceLinkButton, ClickHdl, FixedHyperlink&, rButton, void) { - m_aOrigClickHdl.Call(rButton); - signal_clicked(); + bool bConsumed = signal_activate_link(); + if (!bConsumed) + m_aOrigClickHdl.Call(rButton); } class SalInstanceRadioButton : public SalInstanceButton, public virtual weld::RadioButton diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx index b72495c13dc4..58d6f86a0f83 100644 --- a/vcl/unx/gtk3/gtk3gtkinst.cxx +++ b/vcl/unx/gtk3/gtk3gtkinst.cxx @@ -6953,18 +6953,18 @@ private: GtkLinkButton* m_pButton; gulong m_nSignalId; - static void signalClicked(GtkButton*, gpointer widget) + static bool signalActivateLink(GtkButton*, gpointer widget) { GtkInstanceLinkButton* pThis = static_cast<GtkInstanceLinkButton*>(widget); SolarMutexGuard aGuard; - pThis->signal_clicked(); + return pThis->signal_activate_link(); } public: GtkInstanceLinkButton(GtkLinkButton* pButton, GtkInstanceBuilder* pBuilder, bool bTakeOwnership) : GtkInstanceContainer(GTK_CONTAINER(pButton), pBuilder, bTakeOwnership) , m_pButton(pButton) - , m_nSignalId(g_signal_connect(pButton, "clicked", G_CALLBACK(signalClicked), this)) + , m_nSignalId(g_signal_connect(pButton, "activate-link", G_CALLBACK(signalActivateLink), this)) { } |