Issue 103709

Summary: Can't enter characters in Callouts
Product: General Reporter: amy2008 <amy2008>
Component: codeAssignee: wolframgarten
Status: CLOSED FIXED QA Contact: issues@framework <issues>
Severity: Trivial    
Priority: P3 CC: Armin.Le.Grand, issues, ooo.redflag, peter.junge, zhuangyuelin
Version: DEV300m52Keywords: regression
Target Milestone: OOo 3.2   
Hardware: All   
OS: All   
Issue Type: DEFECT Latest Confirmation in: ---
Developer Difficulty: ---
Issue Depends on:    
Issue Blocks: 84405    

Description amy2008 2009-07-22 02:38:43 UTC
Can reproduce it in DEV300m52, can't reproduce it in DEV300m51

How to reproduce it
1 Open a new Writer doc
2 Insert a Callouts or Vertical Callouts
3 Double_click, try to enter characters in the Callouts

Result
Can't set Cursor in the Callouts, so can't enter characters in the Callouts

Expectation
Enter characters successfully

Regards
Li Meiying
Comment 1 amy2008 2009-07-22 02:39:39 UTC
Regresssion
Comment 2 michael.ruess 2009-07-22 08:10:33 UTC
It is even more serious - it is not possible to select a Callout shape by
clicking into the "empty area". The user is forced to select and double click on
the border of the Callout in order to active text input mode. 
worked fine in OOo 3.1.
Comment 3 Oliver-Rainer Wittmann 2009-07-22 08:52:28 UTC
OD->OS: Please take over.
Comment 4 Oliver-Rainer Wittmann 2009-07-22 09:00:56 UTC
OD->AW: May be you should also have a look.
On Double-Click on the callout object the assertion
"Error: impBufferDevice render helper: Copying from Window to VDev, this should
be avoided (!)
From File
o:/DEV300/src/drawinglayer/source/processor2d/vclhelperbufferdevice.cxx at Line 74"
pops up in DEV300m52. In DEV300m51 this does not happen
Comment 5 Oliver Specht 2009-07-22 09:28:10 UTC
reassigned to aw
Comment 6 amy2008 2009-07-22 09:33:03 UTC
Can reproduce it in Spreadsheet too
Change the component
Comment 7 Armin Le Grand 2009-07-30 10:43:19 UTC
AW: Looks like the selection handling for callouts has changed with CWS aw065
where i changed HitTest to primitive usage. The former HitTest (which was
programmed directly at the model objects, e.g. SdrCaptionObj::CheckHit) may have
done special things for special objects.
Checking DEV300 m51 code. SdrCaptionObj is constructed calling
SdrRectObj(OBJ_TEXT), thus bTextFrame (in SdrTextObj) is true.
SdrCaptionObj::CheckHit calls SdrRectObj::CheckHit for the callout's body. There
(SdrRectObj::ImpCheckHit) bTextFrame is used to force the HitTest to filled. I
will need to add this to the primitive geometry for callouts to correct it.
Starting.
Comment 8 Armin Le Grand 2009-07-30 12:50:06 UTC
AW: Reworked SdrCaptionPrimitive2D::createLocalDecomposition to create as
HitTestPrimitive the closed body if no fill and the tail if no line. This makes
it work as before.
Also checked with text objects, it's the same there. The old HitTest was for the
full text object area. A rectangle without fill behaves the same. Need to
correct the text object, too...
Comment 9 Armin Le Grand 2009-07-30 16:11:25 UTC
AW: Okay, HitTest for callouts and DrawingLayer Text Objects adapted, works
again. Checked in, done.
Comment 10 Armin Le Grand 2009-08-04 17:09:04 UTC
AW: Checked in test version, okay.
Comment 11 Armin Le Grand 2009-08-06 13:50:13 UTC
AW->WG: Please review as described. Basic point is that the empty rectangle for
callouts and text boxes is now part of the HitTest again (for selection) as was
in 3.0
Comment 12 wolframgarten 2009-08-10 08:18:19 UTC
Verified in CWS.