View Issue Details

IDProjectCategoryView StatusLast Update
0025479LazarusIDEpublic2014-01-01 16:36
ReporterJuha Manninen Assigned ToMartin Friebe  
PrioritynormalSeverityminorReproducibilityalways
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:

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

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.

P.S.
  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
LazTarget-
Widgetset
Attached Files

Relationships

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

Activities

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