View Issue Details

IDProjectCategoryView StatusLast Update
0005838JEDI VCL00 JVCL Componentspublic2013-12-13 11:22
ReporterNazgulAssigned Toobones 
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionsuspended 
Product Version3.40 
Target VersionFixed in Version 
Summary0005838: TJvCustomOutlookBar.GetButtonAtPos can return wrong value (patch included)
DescriptionTJvCustomOutlookBar.GetButtonAtPos can sometimes return an incorrect value.
Additional InformationTo fix this issue change TJvCustomOutlookBar.GetButtonAtPos to:

function TJvCustomOutlookBar.GetButtonAtPos(P: TPoint): TJvOutlookBarButton;
var
  I, H: Integer;
  R, B: TRect;
begin
  // this always returns the button in the visible part of the active page (if any)
  Result := nil;
  if (ActivePageIndex < 0) or (ActivePageIndex >= Pages.Count) then
    Exit;
// B := GetButtonRect(ActivePageIndex, 0);
  H := GetButtonHeight(ActivePageIndex);
  R := GetPageRect(ActivePageIndex);
  for I := 0 to Pages[ActivePageIndex].Buttons.Count - 1 do
  begin
    B := GetButtonRect(ActivePageIndex, I);
    if PtInRect(B, P) then
    begin
      Result := Pages[ActivePageIndex].Buttons[I];
      Exit;
    end;
    OffsetRect(B, 0, H);
    if B.Top >= R.Bottom then
      Break;
  end;
end;
TagsNo tags attached.

Activities

obones

2012-06-11 17:23

administrator   ~0019842

Please provide the zipped sources of a sample application showing this.

obones

2013-12-13 11:22

administrator   ~0020767

No news, suspending the issue

Issue History

Date Modified Username Field Change
2012-03-19 15:28 Nazgul New Issue
2012-06-11 17:23 obones Note Added: 0019842
2012-06-11 17:23 obones Status new => feedback
2013-12-13 11:22 obones Note Added: 0020767
2013-12-13 11:22 obones Status feedback => resolved
2013-12-13 11:22 obones Resolution open => suspended
2013-12-13 11:22 obones Assigned To => obones