<html>
<head>
<base href="https://bugs.documentfoundation.org/">
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - EDITING: Fields in tablecontrols of a form could not be moved/sorted"
href="https://bugs.documentfoundation.org/show_bug.cgi?id=54021#c42">Comment # 42</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - EDITING: Fields in tablecontrols of a form could not be moved/sorted"
href="https://bugs.documentfoundation.org/show_bug.cgi?id=54021">bug 54021</a>
from <span class="vcard"><a class="email" href="mailto:serval2412@yahoo.fr" title="Julien Nabet <serval2412@yahoo.fr>"> <span class="fn">Julien Nabet</span></a>
</span></b>
<pre>After some debugging it seems copy starts after workaround because
right click calls ensureRowSetConnection:
#0
dbtools::lcl_connectRowSet(com::sun::star::uno::Reference<com::sun::star::sdbc::XRowSet>
const&, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext>
const&, bool, com::sun::star::uno::Reference<com::sun::star::awt::XWindow>
const&)
(_rxRowSet=uno::Reference to (frm::ODatabaseForm *) 0x7be7ef8,
_rxContext=uno::Reference to (cppu::(anonymous namespace)::ComponentContext *)
0x127a070, _bAttachAutoDisposer=false, _rxParent=empty uno::Reference) at
connectivity/source/commontools/dbtools.cxx:368
#1 0x00007f705f95ef61 in
dbtools::ensureRowSetConnection(com::sun::star::uno::Reference<com::sun::star::sdbc::XRowSet>
const&, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext>
const&, com::sun::star::uno::Reference<com::sun::star::awt::XWindow> const&)
(_rxRowSet=uno::Reference to (frm::ODatabaseForm *) 0x7be7ef8,
_rxContext=uno::Reference to (cppu::(anonymous namespace)::ComponentContext *)
0x127a070, _rxParent=empty uno::Reference)
at connectivity/source/commontools/dbtools.cxx:483
#2 0x00007f704fa1e2b5 in dbaui::SbaGridControl::IsReadOnlyDB() const
(this=0x858f290) at dbaccess/source/ui/browser/sbagrid.cxx:914
#3 0x00007f704fa2297e in
dbaui::SbaGridHeader::PreExecuteColumnContextMenu(unsigned short, PopupMenu&)
(this=0x32bd3a0, nColId=2, rMenu=...) at
dbaccess/source/ui/browser/sbagrid.cxx:551
#4 0x00007f706800e914 in FmGridHeader::triggerColumnContextMenu(Point const&)
(this=0x32bd3a0, _rPreferredPos=Point = {...}) at
svx/source/fmcomp/fmgridcl.cxx:992
Indeed without this connection, you go in the if block there:
244 if ( sFieldName.isEmpty()
245 || sCommand.isEmpty()
246 || ( sDatasource.isEmpty()
247 && sDatabaseLocation.isEmpty()
248 && !xConnection.is()
249 )
250 )
251 {
252 OSL_FAIL( "FmGridHeader::ExecuteDrop: somebody started a
nonsense drag operation!!" );
253 return DND_ACTION_NONE;
254 }
It can be fixed with this:
diff --git a/dbaccess/source/ui/browser/sbagrid.cxx
b/dbaccess/source/ui/browser/sbagrid.cxx
index 41a30c9df178..cdbdf265cad2 100644
--- a/dbaccess/source/ui/browser/sbagrid.cxx
+++ b/dbaccess/source/ui/browser/sbagrid.cxx
@@ -1046,6 +1046,7 @@ void SbaGridControl::DoColumnDrag(sal_uInt16 nColumnPos)
{
Reference< XPropertySet > xDataSource = getDataSource();
OSL_ENSURE(xDataSource.is(), "SbaGridControl::DoColumnDrag : invalid data
source !");
+ ::dbtools::ensureRowSetConnection( Reference< XRowSet
<span class="quote">>(getDataSource(),UNO_QUERY), getContext(), nullptr );</span >
Reference< XPropertySet > xAffectedCol;
Reference< XPropertySet > xAffectedField;
So now, there's still the initial move pb.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>