View Issue Details

IDProjectCategoryView StatusLast Update
0011578LazarusIDEpublic2011-12-01 11:23
ReporterMartin FriebeAssigned ToPaul Ishenin 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version0.9.25 (SVN)Product Build 
Target Version1.0.0Fixed in Version0.9.29 (SVN) 
Summary0011578: Themes (vista) TScrollbar uses unclean bitmap (doublebuffer, from previous?)
DescriptionHow to repeat: (tested on Vista)
- But a TScrollBar, and a TButton on a Form
- enable Manifest
- compile and start
- move mouse over button
  (It will be highlighted in a bluee-ish color (this happen gradually, the blue fades in)
- move mouse over TScrollbar.

=> It does the same highlight. BUT the first frame of the "fade-in" is drawn with an older bitmap, in this case the button.
Effect: for a tiny moment you can see the button Image in the place of the scrollbar.
Additional InformationI do not know if any of the following is related, but it may be....

in lcl\interfaces\win32\win32callback.inc procedure WindowProc
   CurDoubleBuffer.Bitmap

is reused/shared between controls, it's DC is used in the various messages send to the Control. If a TScrollbar fails to clean the Bitmap, then that would be an explanation.


in lcl\stdctrls.pp TCustomScrollBar
    procedure WMEraseBkgnd(var Message: TLMEraseBkgnd); message LM_ERASEBKGND;
procedure TCustomScrollBar.WMEraseBkgnd(var Message: TLMEraseBkgnd);
begin
  DefaultHandler(Message);
end;

May be stopping the control from erasing the Bitmap? Removing this Procedure cures the issue, but introduces the new issue, of an empty space being drawn for just a moment.

- If this is related, there may be more controls suffering this fate

TagsNo tags attached.
Fixed in Revision25157
LazTarget1.0
WidgetsetWin32/Win64
Attached Files

Relationships

has duplicate 0012865 closedPaul Ishenin Lazarus TScrollBar repaint problem 
has duplicate 0013161 closedPaul Ishenin Lazarus Moving mouse cursor over TScrollBar in Windows 7 and Windwos Vista causes blinking random bitmaps 
related to 0011872 closedPaul Ishenin Lazarus Incorrect scrollbar drawing under WinXP 
related to 0012979 assignedBurkhard Carstens Lazarus CCR GLSceneViewer with bad graphics under Windows 
related to 0015702 closedJesus Reyes Lazarus Scrollbars of Lazreport preview flicker wild and dont work 

Activities

Reenen

2008-08-02 19:15

reporter   ~0021041

My vista related bug, worked fine once the set the theme to Classic (ala win2000), not to normal Vista theme. Maybe try to test it like that, if it disappears, it may be Vista...

2010-02-14 11:41

 

scrollbar.png (158,904 bytes)
scrollbar.png (158,904 bytes)

Vladimir Zhirov

2010-02-14 13:42

reporter   ~0034465

If I understand the problem right, there is a similar issue with SpinEdit buttons in disabled state.

Paul Ishenin

2010-05-04 03:16

manager   ~0037213

Please test and close if ok.

Issue History

Date Modified Username Field Change
2008-06-29 16:16 Martin Friebe New Issue
2008-06-29 16:16 Martin Friebe Widgetset => Win32
2008-06-30 09:44 Vincent Snijders LazTarget => 1.0
2008-06-30 09:44 Vincent Snijders Status new => acknowledged
2008-06-30 09:44 Vincent Snijders Target Version => 1.0.0
2008-08-02 19:15 Reenen Note Added: 0021041
2008-08-15 11:37 Vincent Snijders Relationship added related to 0011872
2008-12-27 22:23 Martin Friebe Relationship added has duplicate 0012865
2009-01-17 13:04 Burkhard Carstens Relationship added related to 0012979
2009-02-14 22:41 Martin Friebe Relationship added has duplicate 0013161
2010-02-14 11:41 Eric Heijnen File Added: scrollbar.png
2010-02-14 13:42 Vladimir Zhirov Note Added: 0034465
2010-03-12 17:15 Martin Friebe Relationship added related to 0015702
2010-05-04 03:16 Paul Ishenin Fixed in Revision => 25157
2010-05-04 03:16 Paul Ishenin Status acknowledged => resolved
2010-05-04 03:16 Paul Ishenin Fixed in Version => 0.9.29 (SVN)
2010-05-04 03:16 Paul Ishenin Resolution open => fixed
2010-05-04 03:16 Paul Ishenin Assigned To => Paul Ishenin
2010-05-04 03:16 Paul Ishenin Note Added: 0037213
2011-12-01 11:23 Marc Weustink Status resolved => closed