summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/app/salvtables.cxx5
-rw-r--r--vcl/unx/gtk3/gtk3gtkinst.cxx6
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))
{
}