View Issue Details

IDProjectCategoryView StatusLast Update
0006415JEDI VCL00 JVCL Componentspublic2016-08-26 21:27
ReporterdcraposoAssigned ToAHUser 
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Product VersionDaily / GIT 
Target VersionFixed in VersionDaily / GIT 
Summary0006415: Invisible buttons on TJvOutlookBar with Windows Server 2008
DescriptionButtons on the TJvOutlookBar stay invisble on bottom of the component, when the project is compiled with Delphi XE5 or newer. The problem appears to surface only when the application is running under Windows Server 2008 environment.
TagsNo tags attached.

Activities

obones

2015-09-14 11:25

administrator   ~0021193

Please provide the zipped sources of a sample application showing this

brenooandrade

2016-02-03 18:46

reporter   ~0021272

Any news about this issue?
I have the same problem when I run the component JvOutlookBar on Windows XP. (Using Delphi Seattle 10).
When I use the application on Windows 7 or newer the problem doesn't occurs.

I've provided a demo and some print screen.

2016-02-03 18:46

 

1.png (8,700 bytes)
1.png (8,700 bytes)

2016-02-03 18:47

 

2.jpg (28,585 bytes)
2.jpg (28,585 bytes)

2016-02-03 18:49

 

Menu.zip (838,759 bytes)

lomo74

2016-08-26 18:00

reporter   ~0021387

To solve the issue:
edit file JvOutlookBar.pas
around line 0001000:0002259, you find the following block of code:
      if Rgn <> 0 then
      begin
        SelectClipRgn(Canvas.Handle, Rgn);
        DeleteObject(Rgn);
      end;

change to:

      if Rgn <> 0 then
      begin
        SelectClipRgn(Canvas.Handle, 0);
        DeleteObject(Rgn);
      end;

lomo74

2016-08-26 18:01

reporter   ~0021388

I meant "around line 2259"

AHUser

2016-08-26 21:00

developer   ~0021390

This may break DrawThemedBackground for other controls as it removes the clip region and doesn't restore the original clip region.

The actual fix may be to check the return value of GetClipRgn and delete the Rgn region if it returns that there is no clip region.

...
case GetClipRgn(Canvas.Handle, Rgn) of
  0, -1:
    begin
      DeleteObject(Rgn);
      Rgn := 0;
    end;
end;
...

AHUser

2016-08-26 21:27

developer   ~0021391

Fixed in master branch.

Issue History

Date Modified Username Field Change
2015-06-29 20:22 dcraposo New Issue
2015-09-14 11:25 obones Note Added: 0021193
2015-09-14 11:25 obones Status new => feedback
2016-02-03 18:46 brenooandrade Note Added: 0021272
2016-02-03 18:46 brenooandrade File Added: 1.png
2016-02-03 18:47 brenooandrade File Added: 2.jpg
2016-02-03 18:49 brenooandrade File Added: Menu.zip
2016-08-26 18:00 lomo74 Note Added: 0021387
2016-08-26 18:01 lomo74 Note Added: 0021388
2016-08-26 21:00 AHUser Note Added: 0021390
2016-08-26 21:27 AHUser Note Added: 0021391
2016-08-26 21:27 AHUser Status feedback => resolved
2016-08-26 21:27 AHUser Fixed in Version => Daily / GIT
2016-08-26 21:27 AHUser Resolution open => fixed
2016-08-26 21:27 AHUser Assigned To => AHUser