diff options
author | Caolán McNamara <caolanm@redhat.com> | 2020-02-03 14:33:54 +0000 |
---|---|---|
committer | Szymon Kłos <szymon.klos@collabora.com> | 2020-12-19 17:54:45 +0100 |
commit | bd2701b47886dfaabb3a01329f6930d6fb83f50b (patch) | |
tree | db7fa580a902863a7faca522f0698d7e7019e70f /vcl/unx | |
parent | 9dbede8084c2129582817abc8e6400e6ec59a2f8 (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.cxx | 14 |
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); } |