Issue 73871

Summary: Convert into bmp does not change to picture bar
Product: Draw Reporter: wolframgarten
Component: uiAssignee: wolframgarten
Status: CLOSED FIXED QA Contact: issues@graphics <issues>
Severity: Trivial    
Priority: P3 CC: Armin.Le.Grand, clippka, issues, rbircher, weike.liang
Version: 680m199   
Target Milestone: OOo 3.2   
Hardware: All   
OS: All   
Issue Type: DEFECT Latest Confirmation in: ---
Developer Difficulty: ---
Issue Depends on:    
Issue Blocks: 72764    
Attachments:
Description Flags
The old object should not be marked when the new object is marked.
none
The new patch is created because the old one leads to issue84984. none

Description wolframgarten 2007-01-25 15:01:27 UTC
Open a new draw and insert a rectangle. Convert it into bitmap: the picture bar
does not come up. Deselecting and selecting the bitmap solves the problem.
Comment 1 wolframgarten 2007-02-09 09:51:53 UTC
Summary adapted.
Comment 2 groucho266 2007-07-25 13:42:08 UTC
Retargeted to OOo 2.4.
Comment 3 groucho266 2007-10-30 13:46:07 UTC
Retargeted to 2.x due to time constraints.
Comment 4 Martin Hollmichel 2007-11-09 17:01:40 UTC
set target from 2.x to 3.x according
http://wiki.services.openoffice.org/wiki/Target_3x
Comment 5 liangweike 2007-11-20 01:13:54 UTC
Created attachment 49755 [details]
The old object should not be marked when the new object is marked.
Comment 6 liangweike 2007-11-20 01:42:13 UTC
While the rectangle is converted into bmp the new graphics of bmp will replace 
the rectangle. But, during the procedure the both objects are marked and put 
into the list of marked objects at the same time. And this leads to the result 
that the returned context is SDRCONTEXT_STANDARD rather than 
SDRCONTEXT_GRAPHIC, which can be seen in the method "SdrView::GetContext()". 
Therefore we just need to make the old object unmarked to avoid the case.
Comment 7 groucho266 2007-12-13 16:46:43 UTC
Fixed by liangweike
Comment 8 groucho266 2007-12-13 16:49:15 UTC
Please verify.
Comment 9 wolframgarten 2008-01-02 10:37:04 UTC
Verified in CWS as a stand-in for cgu.
Comment 10 liangweike 2008-02-27 01:54:21 UTC
Created attachment 51741 [details]
The new patch is created because the old one leads to issue84984.
Comment 11 groucho266 2008-11-21 12:51:16 UTC
Reopening issue as preparation for migration to cws impress164.
Comment 12 groucho266 2008-11-21 12:52:21 UTC
.
Comment 13 groucho266 2008-11-21 12:53:17 UTC
Reapplied fix in cws impress164.  Svn revisions are 264133 and 264134.
Comment 14 groucho266 2009-03-18 16:07:16 UTC
Changing target to OOo 3.2.
Comment 15 groucho266 2009-08-21 14:06:10 UTC
@wg: Please verify.
Comment 16 clippka 2009-08-24 15:14:15 UTC
just for the record, the given patch breaks other features, namely all features
that sequentially replace mared objects.

for example draw to rectangles, select both and select combine, impress crashes!

For now I removed the code from the svdmarkv.cxx and added a

	if( IsObjMarked( pOldObj ) )
	    MarkObj( pOldObj, &rPV, TRUE /*unmark!*/ );

to SdrEditView::ReplaceObjectAtView

In the future we should change all operations on the mark list to use a copy of
the mark list and not the living mark list
Comment 17 wolframgarten 2009-08-26 14:28:16 UTC
Verified in CWS.
Comment 18 Armin Le Grand 2009-09-08 10:52:38 UTC
AW: Some more info: I already isolated wite access to SdrMarkList at SdrMarkView
by making GetMarkedObjectListWriteAccess() private and the only way to access
the local selection list, all usages are adapted. Before that, everyone could
change it as wanted, with unpredictable results. In the long run, one of the
next big redesigns should be the controller level (View, Selections and
Interactions). HTH!
Comment 19 Raphael Bircher 2010-02-05 00:33:14 UTC
fixed in master

closing issue