Apache OpenOffice (AOO) Bugzilla – Full Text Issue Listing |
Summary: | Selection behaviour changed for text objects | ||
---|---|---|---|
Product: | Draw | Reporter: | clippka |
Component: | ui | Assignee: | wolframgarten |
Status: | CLOSED FIXED | QA Contact: | issues@graphics <issues> |
Severity: | Trivial | ||
Priority: | P3 | CC: | issues |
Version: | DEV300m60 | Keywords: | regression |
Target Milestone: | OOo 3.2 | ||
Hardware: | All | ||
OS: | All | ||
Issue Type: | DEFECT | Latest Confirmation in: | --- |
Developer Difficulty: | --- | ||
Issue Depends on: | |||
Issue Blocks: | 99999 |
Description
clippka
2009-10-13 12:27:30 UTC
adding regression keywoard and proposed as a OOo 3.2 release blocker on the releases mailing list AW: Indeed this is a problem and a regression. For PresObj's (empty ones; adding text makes it work) there must have been an exception in the old HitTest handling. It may have to do with the callback and replacement mechanism at primitive creation. Taking a look... AW: Re-checked the HitTest changes in #i103709# which lead to this situation. In fact, the old HitTest for TextFrames was not only dependent from bTextFrame, but also from IsPickThroughTransparentTextFrames. This seems to have been the real reason for changed HitTest in SW compared to Draw/Impress. Checking... AW: Code from DEV300 m29 used: FASTBOOL bPickThrough=pModel!=NULL && pModel->IsPickThroughTransparentTextFrames(); if (bTextFrame && !bPickThrough) bFilled=TRUE; AW: Works as expected. Checked in, done. AW: Checked in CWS build, works well. AW->WG: Please verify in CWS ooo32gsl02 Works under Windows but not under Linux. Reassigned. AW: Hmm, strange. IKt works with the Layouts 'Title, Slide', 'Centered Text', 'title, Object' and others. There has to be another difference when Text with outline is involved. Checking if this was different in old version... AW: Indeed, it was. I need to debug for this one... AW: Debugged the WIN32 version, it works as expected. Since the HitTest stuff has NO system-dependent parts, i'll try a svx/sd rebuild on the CWS... AW: Very strange. Have compared the values for GetRectObj().IsTextFrame() and bPickThroughTransparentTextFrames for EmptyPresObj's, both are true on WIN32 and linux; they are combined to false (!bPickThroughTransparentTextFrames), so bForceFillForHitTest in ViewContactOfSdrRectObj is the same for both systems. This is the defining factor for the HitTest helper creation, so i have no idea why it works different. Looking further... AW: Found a difference now and a potential error, too: in HitTestProcessor2D, the usages of getB2DRange at BasePrimitive2D are not checked against being empty before usage. I just do not know how this could lead to different decisions under WIN32 and Linux, but it seems to lead to differences. At least the TextSimplePortionPrimitive2D::getB2DRange uses getTextBoundRect and thus potentially may deliver different, system-dependent results. It works when securing the getB2DRange calls in HitTestProcessor2D, so i will do just that... AW: Checked in, done. All versions (except wntmsci12.pro, building install set) rebuilt with change. Setting to fixed. Waiting for wntmsci12.pro... AW: Okay, wntmsci12.pro is done, too. AW->WG: Please verify. Verified in CWS. |