summaryrefslogtreecommitdiff
path: root/vcl/unx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2020-02-03 14:33:54 +0000
committerSzymon Kłos <szymon.klos@collabora.com>2020-12-19 17:54:45 +0100
commitbd2701b47886dfaabb3a01329f6930d6fb83f50b (patch)
treedb7fa580a902863a7faca522f0698d7e7019e70f /vcl/unx
parent9dbede8084c2129582817abc8e6400e6ec59a2f8 (diff)
Resolves: tdf#130347 we always need the drag-begin signal in GtkTreeView
Change-Id: Icbd8ab1393e25b698b034341b526b3a55251610d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87876 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108027 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Diffstat (limited to 'vcl/unx')
-rw-r--r--vcl/unx/gtk3/gtk3gtkinst.cxx14
1 files changed, 12 insertions, 2 deletions
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index 8223c1235f77..b51534a45cef 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -1933,6 +1933,14 @@ protected:
m_nKeyPressSignalId = g_signal_connect(m_pWidget, "key-press-event", G_CALLBACK(signalKey), this);
}
+ void ensure_drag_begin_end()
+ {
+ if (!m_nDragBeginSignalId)
+ m_nDragBeginSignalId = g_signal_connect(m_pWidget, "drag-begin", G_CALLBACK(signalDragBegin), this);
+ if (!m_nDragEndSignalId)
+ m_nDragEndSignalId = g_signal_connect(m_pWidget, "drag-end", G_CALLBACK(signalDragEnd), this);
+ }
+
private:
bool m_bTakeOwnership;
bool m_bFrozen;
@@ -2211,8 +2219,8 @@ private:
m_nDragFailedSignalId = g_signal_connect(m_pWidget, "drag-failed", G_CALLBACK(signalDragFailed), this);
m_nDragDataDeleteignalId = g_signal_connect(m_pWidget, "drag-data-delete", G_CALLBACK(signalDragDelete), this);
m_nDragGetSignalId = g_signal_connect(m_pWidget, "drag-data-get", G_CALLBACK(signalDragDataGet), this);
- m_nDragBeginSignalId = g_signal_connect(m_pWidget, "drag-begin", G_CALLBACK(signalDragBegin), this);
- m_nDragEndSignalId = g_signal_connect(m_pWidget, "drag-end", G_CALLBACK(signalDragEnd), this);
+
+ ensure_drag_begin_end();
}
}
@@ -9078,6 +9086,8 @@ public:
for (auto& a : m_aAlignMap)
a.second = nIndex++;
+ ensure_drag_begin_end();
+
m_nRowDeletedSignalId = g_signal_connect(m_pTreeModel, "row-deleted", G_CALLBACK(signalRowDeleted), this);
m_nRowInsertedSignalId = g_signal_connect(m_pTreeModel, "row-inserted", G_CALLBACK(signalRowInserted), this);
}