View Issue Details

IDProjectCategoryView StatusLast Update
0016359LazarusIDEpublic2010-04-30 18:33
ReporterJaco VoorhamAssigned ToDmitry Boyarintsev 
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Product Version0.9.29 (SVN)Product Build 
Target VersionFixed in Version 
Summary0016359: Selected text in editor distorts text
DescriptionSomewhere after revision 24357, on Mac 10.6 i386, carbon, the editor of the IDE distorts text that is selected.
TagsNo tags attached.
Fixed in Revision25080
LazTarget0.9.30
WidgetsetCarbon
Attached Files

Activities

Dmitry Boyarintsev

2010-04-28 08:21

developer   ~0037053

what svn revision are you using?
could provide a screenshot?

2010-04-28 10:35

 

scr1.tiff (15,410 bytes)

Jaco Voorham

2010-04-28 10:36

reporter   ~0037055

This screenshot is of revision 25022.

It is going on for 1, 2 ? weeks now, and I always revert to revision 24357, the one I know did not have the problem yet.

Dmitry Boyarintsev

2010-04-28 11:14

developer   ~0037057

Last edited: 2010-04-28 11:15

Could you test (the latest svn version) with anti-aliased Monaco font?!

Jaco Voorham

2010-04-28 11:54

reporter   ~0037058

OK, testen with r25027, and is solved with your font recommendation.
Thanks.

Dmitry Boyarintsev

2010-04-28 11:56

developer   ~0037059

Bug is not yet fixed.

Jaco what font are you using? (shown at the screenshot)

Jaco Voorham

2010-04-28 11:58

reporter   ~0037060

That was courier, but with anti-aliasing turned off.
Works Ok with Courier and aa turned on

2010-04-28 15:23

 

testSynEdit.zip (7,054 bytes)

Dmitry Boyarintsev

2010-04-28 15:24

developer   ~0037062

attached test application. something is wrong with offsets and anti-aliased text control.

Jaco Voorham

2010-04-29 12:19

reporter   ~0037094

I see.
Adapting the test app to do the same on a simple tmemo (since I never use the synedit components) shows no problems.

Dmitry Boyarintsev

2010-04-29 18:34

developer   ~0037099

TMemo is system drawn control, while SynEdit is custom drawn control.

The but is ExtTextOut function, using DX parameter and non anti-aliased font. For some reason, anti-aliased fonts are working fine.

Dmitry Boyarintsev

2010-04-30 15:25

developer   ~0037122

please test and close if ok

Jonas Maebe

2010-04-30 15:37

reporter   ~0037123

In the first routine changed by http://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/lcl/interfaces/carbon/carbongdiobjects.pp?root=lazarus&r1=25080&r2=25079&pathrev=25080 , CallbackStatus is always set to kATSULayoutOperationCallbackStatusHandled: first unconditionally, and then again if "handled" is true. This seems wrong (but I haven't tested the changes)

Jaco Voorham

2010-04-30 18:22

reporter   ~0037130

IDE with Courier New, and no anti-aliasing still shows some distortions when selecting text (characters jump a little), although much less than before.

Dmitry Boyarintsev

2010-04-30 18:31

developer   ~0037131

Changing status to kATSULayoutOperationCallbackStatusContinue causes text mess, for some reason, even unhandled.

So status callback, should always return: kATSULayoutOperationCallbackStatusHandled

The code looks quite strange, so I'd rather clean it up.

The saddest thing is ATSU is deprecated and CoreText should be used instead.

Issue History

Date Modified Username Field Change
2010-04-28 08:17 Jaco Voorham New Issue
2010-04-28 08:17 Jaco Voorham Widgetset => Carbon
2010-04-28 08:21 Dmitry Boyarintsev Note Added: 0037053
2010-04-28 08:22 Dmitry Boyarintsev Status new => assigned
2010-04-28 08:22 Dmitry Boyarintsev Assigned To => Dmitry Boyarintsev
2010-04-28 08:22 Dmitry Boyarintsev LazTarget => -
2010-04-28 08:22 Dmitry Boyarintsev Status assigned => feedback
2010-04-28 10:35 Jaco Voorham File Added: scr1.tiff
2010-04-28 10:36 Jaco Voorham Note Added: 0037055
2010-04-28 11:08 Dmitry Boyarintsev Status feedback => assigned
2010-04-28 11:14 Dmitry Boyarintsev Note Added: 0037057
2010-04-28 11:15 Dmitry Boyarintsev Note Edited: 0037057
2010-04-28 11:30 Dmitry Boyarintsev Status assigned => feedback
2010-04-28 11:54 Jaco Voorham Note Added: 0037058
2010-04-28 11:56 Dmitry Boyarintsev Note Added: 0037059
2010-04-28 11:58 Jaco Voorham Note Added: 0037060
2010-04-28 12:40 Dmitry Boyarintsev Status feedback => assigned
2010-04-28 15:23 Dmitry Boyarintsev File Added: testSynEdit.zip
2010-04-28 15:24 Dmitry Boyarintsev Note Added: 0037062
2010-04-29 12:19 Jaco Voorham Note Added: 0037094
2010-04-29 18:34 Dmitry Boyarintsev Note Added: 0037099
2010-04-30 15:25 Dmitry Boyarintsev Fixed in Revision => 25080
2010-04-30 15:25 Dmitry Boyarintsev LazTarget - => 0.9.30
2010-04-30 15:25 Dmitry Boyarintsev Status assigned => resolved
2010-04-30 15:25 Dmitry Boyarintsev Resolution open => fixed
2010-04-30 15:25 Dmitry Boyarintsev Note Added: 0037122
2010-04-30 15:37 Jonas Maebe Note Added: 0037123
2010-04-30 18:22 Jaco Voorham Status resolved => closed
2010-04-30 18:22 Jaco Voorham Note Added: 0037130
2010-04-30 18:28 Dmitry Boyarintsev Status closed => assigned
2010-04-30 18:28 Dmitry Boyarintsev Resolution fixed => reopened
2010-04-30 18:29 Dmitry Boyarintsev LazTarget 0.9.30 => 1.0
2010-04-30 18:31 Dmitry Boyarintsev Note Added: 0037131
2010-04-30 18:31 Dmitry Boyarintsev Status assigned => acknowledged
2010-04-30 18:32 Dmitry Boyarintsev LazTarget 1.0 => 0.9.30
2010-04-30 18:32 Dmitry Boyarintsev Status acknowledged => assigned
2010-04-30 18:32 Dmitry Boyarintsev Status assigned => resolved
2010-04-30 18:33 Dmitry Boyarintsev Status resolved => closed
2010-04-30 18:33 Dmitry Boyarintsev Resolution reopened => fixed