View Issue Details

IDProjectCategoryView StatusLast Update
0025479LazarusIDEpublic2014-01-01 16:36
ReporterJuha Manninen Assigned ToMartin Friebe  
Status assignedResolutionopen 
Product Version1.3 (SVN) 
Summary0025479: "Show Class/Proc hint" feature gets confused with 2 method declarations inside {$IFDEF} {$ELSE} {$ENDIF}
DescriptionFor example lcl/interfaces/qt/qtwidgets has lines:

 function TQtWidget.QueryInterface(constref iid: TGuid; out obj): LongInt; {$IFDEF WINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
 function TQtWidget.QueryInterface(const iid: tguid; out obj): longint; stdcall;

Later in code the active (upper) declaration :
  function TQtWidget.QueryInterface(constref ...
is shown at the top of source editor, as if all the following code was a sub-function inside it.

  IIRC "FPC_HAS_CONSTREF" is defined in FPC versions that Lazarus supports (2.6.x) and the IFDEF should be removed.
However this editor bug is not related to "FPC_HAS_CONSTREF". I remember seeing it elsewhere, too.
Steps To ReproduceOpen lcl/interfaces/qt/qtwidgets.pas in Lazarus source editor and move to near the end of file.
Make sure the feature "Show Class/Proc hint" is enabled in IDE options.
TagsNo tags attached.
Fixed in Revision
Attached Files


duplicate of 0024978 assignedMartin Friebe Conditional defines cause the source editor to display the procedure title twice 


Juha Manninen

2014-01-01 16:36

developer   ~0072161

Oops, I did not find the duplicate issue.

Issue History

Date Modified Username Field Change
2014-01-01 13:55 Juha Manninen New Issue
2014-01-01 13:55 Juha Manninen Status new => assigned
2014-01-01 13:55 Juha Manninen Assigned To => Martin Friebe
2014-01-01 14:12 Martin Friebe Relationship added duplicate of 0024978
2014-01-01 16:36 Juha Manninen Note Added: 0072161