@Sebastian - I thought it was obvious - the solution Aleksi-ajp wrote is the only reasonable.
I peaked into the source code and: the change probably needs to be in Launcher.cpp in unity/plugins/unityshell/src/Launcher.cpp in function ProcessDndMove. Lack of comments in the code makes it hard to read, but I think makers of this part didn't anticipate such behaviour so it won't be simple. This code needs to be changed though:
Or maybe changing accept to always true (there is no information what those mean, so someone who wrote this needs to correct this) - Jason Smith <email address hidden> is written as author, so maybe him? Should I contact him? Is it OK?
@Sebastian - I thought it was obvious - the solution Aleksi-ajp wrote is the only reasonable.
I peaked into the source code and: the change probably needs to be in Launcher.cpp in unity/plugins/ unityshell/ src/Launcher. cpp in function ProcessDndMove. Lack of comments in the code makes it hard to read, but I think makers of this part didn't anticipate such behaviour so it won't be simple. This code needs to be changed though:
else edge_touching && hovered_icon != _dnd_hovered_icon)
hovered_ icon->SendDndEn ter();
_drag_ action = hovered_ icon->QueryAcce ptDrop( _dnd_data) ;
_drag_ action = nux::DNDACTION_ NONE;
{
if (!_drag_
{
if (hovered_icon)
{
}
else
{
}
if (_dnd_hovered_icon)
_dnd_hovered_ icon->SendDndLe ave();
_ dnd_hovered_ icon = hovered_icon;
}
}
bool accept; NONE)
if (_drag_action != nux::DNDACTION_
accept = true;
else
accept = false;
SendDndStatus (accept, _drag_action, nux::Geometry(x, y, 1, 1));
Quick but dirty solution would probably be changing
hovered_ icon->SendDndEn ter();
_drag_ action = hovered_ icon->QueryAcce ptDrop( _dnd_data) ;
to:
hovered_ icon->SendDndEn ter(); COPY;
_drag_action = nux::DNDACTION_
Or maybe changing accept to always true (there is no information what those mean, so someone who wrote this needs to correct this) - Jason Smith <email address hidden> is written as author, so maybe him? Should I contact him? Is it OK?