Code pointers:

- All CLICK and SHIFT+CLICK operations for grouping Drawing objects
handled in ./sw/source/uibase/docvw/edtwin.cxx:2770 :
https://opengrok.libreoffice.org/xref/core/sw/source/uibase/docvw/edtwin.cxx?r=216a43bc#2770

- SHIFT+CLICK occurs in:
https://opengrok.libreoffice.org/xref/core/sw/source/uibase/docvw/edtwin.cxx?r=216a43bc#3470

- Select objects : SwFEShell::SelectObj:
https://opengrok.libreoffice.org/xref/core/sw/source/core/frmedt/feshview.cxx?r=715797bc#177

- Marked object list:
https://opengrok.libreoffice.org/xref/core/include/svx/svdmark.hxx?r=40595834#230

- Types of forms of content:
https://opengrok.libreoffice.org/xref/core/sw/inc/editsh.hxx?r=1feb59c3#130

- Mark object:
https://opengrok.libreoffice.org/xref/core/svx/source/svdraw/svdmrkv.cxx?r=8a850eed#1877

You can read the full-detailed blog post of my 2-week research on this
bug: https://bayramcicek.com.tr/libreoffice-
dev/2021/07/05/week-03-04-gsoc.html

(I don't want to write everything in the blog post here because it's too
long), just want to point out:

All selected objects store in rMrkList list:
const SdrMarkList &rMrkList = pDView->GetMarkedObjectList(); 

Output of SAL_DEBUG( rMrkList.GetMarkDescription() ); (in
SwFEShell::SelectObj):

For shapes: "shapes"
For 2+ shapes: "2 shapes"
For draw images: "Image with transparency"
For text box: "Text Frame"
For raster images: "[Drawing object]" (defined as #define STR_ObjNameSingulNONE)

rMrkList.GetMarkCount(); always increases by 1 when selecting drawing objects 
via SHIFT+CLICK. But always gives 1 when selecting raster images because 
pOldSelFly = ::GetFlyFromMarked( &rMrkList, this ); always return an address 
and this causes rMrkList doesn’t add the second selected raster image to itself 
and do unmark it. 
(if we force rMrkList to add raster images to itself by removing the 
pDView->UnmarkAll() line, this time, debugging warns "warn: /*...*/ frame is 
not accessible." )

I don't understand why images handled different in Writer and
Draw/Calc/Impress.

IMHO, should we get rid of writer-images and convert them into drawing
objects as like in the Draw? Otherwise, from my point of view, it seems
a bit complicated to group raster images and raster&shapes. What do you
think?

Thanks.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1481835

Title:
  [UPSTREAM] Unable to group raster image(s) with drawing object(s)

To manage notifications about this bug go to:
https://bugs.launchpad.net/df-libreoffice/+bug/1481835/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to