View Issue Details

IDProjectCategoryView StatusLast Update
0029928LazarusIDEpublic2020-07-18 00:34
ReporterMike Thompson Assigned ToMattias Gaertner  
PrioritynormalSeverityminorReproducibilityalways
Status assignedResolutionopen 
OSWindows 8.1 
Product Version1.7 (SVN) 
Summary0029928: Project Options - Additions and Overrides - Set LCLWidgetType overrides Tools - Configure "Build Lazarus" - LCL widget type
DescriptionUse Project Options, navigate to Additions and Overrides
Set "LCLWidgetType" (I added mine to "Stored in IDE (environmentoptions.xml))

From here on, any attempt to change the Lazarus IDE to a different widgetset than the one defined in Project Options will fail.

This persists, even after the offending Addition and Override is deleted. Following the deletion, there is no longer any clear idea of where the offending LCLWidgetSet is defined, leading to confusion.
Steps To ReproduceSee Description
Additional InformationI presume that the Project Options "Additions and Overrides" is only supposed to apply to the current project, in which case the issue is that the IDE rebuild should completely ignore this value.

I have only tested this on Lazarus Trunk (svn 52087), and under Windows 8.1

See also
http://forum.lazarus.freepascal.org/index.php?topic=31173
TagsNo tags attached.
Fixed in Revision
LazTarget-
Widgetset
Attached Files

Relationships

related to 0031594 new Cross-compilng a package: "Conflicting CPU architectures" error 
related to 0034417 new IDE: Build modes - build many modes - TargetOS 

Activities

CudaText man

2018-05-25 10:20

reporter   ~0108526

Last edited: 2018-05-25 10:20

View 2 revisions

this is incredible.
I have seen this same bug on macOS - and thought it is my local issue.
Confirmed:
- current project's widgetset is Cocoa
- IDE widgetset is Carbon, target cpu= i386
- and I do Build Lazarus ==> it builds the __Cocoa_ IDE

CudaText man

2018-05-28 15:06

reporter   ~0108559

maybe this code is too complex?
ide/buildmanager.pas

==
  function GetEffectiveLCLWidgetType: string;
  begin
    if OverrideLCLWidgetType<>'' then
      Result:=OverrideLCLWidgetType
    else if FBuildTarget<>nil then begin
      Result:=FBuildTarget.CompilerOptions.GetEffectiveLCLWidgetType
    end
    else
      Result:='';
    if (Result='') or (SysUtils.CompareText(Result,'default')=0) then
      Result:=GetLCLWidgetTypeName;
    Result:=lowercase(Result);
  end;

==
it may read target widgetset from not needed place.

Mattias Gaertner

2018-08-13 12:00

manager   ~0110010

Additions and Overrides apply to the IDE as well. This is by design.

Eventually the IDE should work like a Lazarus project.

I will add a warning, if there is a different widgetset in the two dialogs.

Vojtech Cihak

2018-08-13 13:09

reporter   ~0110012

I know that. I was asking on ML in January: http://lists.lazarus-ide.org/pipermail/lazarus/2018-January/233683.html

I don't understand why it is by design. I'd like to have Laz. at Qt4 and I sometimes test projects in Qt5 or GTk2. If I rebild Lazarus at this point, I have unwanted widgeset.

Instead of warning, I would imagine new item in combo box: Tools -> Configure Build Lazarus -> LCL widget type: "Follow Project Options" or checkbox "Ignore Project Options" or so.

Martin Friebe

2020-07-18 00:34

manager   ~0124136

Quote: "Eventually the IDE should work like a Lazarus project."

But the IDE has its own project: ide/lazarus.lpi (even if that can not yet be compiled).
So surely only settings in that project should affect the IDE build?

Issue History

Date Modified Username Field Change
2016-03-30 11:39 Mike Thompson New Issue
2016-03-30 11:40 Mike Thompson Additional Information Updated View Revisions
2018-05-25 10:20 CudaText man Note Added: 0108526
2018-05-25 10:20 CudaText man Note Edited: 0108526 View Revisions
2018-05-28 15:06 CudaText man Note Added: 0108559
2018-08-13 12:00 Mattias Gaertner Note Added: 0110010
2018-08-13 12:00 Mattias Gaertner Assigned To => Mattias Gaertner
2018-08-13 12:00 Mattias Gaertner Status new => assigned
2018-08-13 13:09 Vojtech Cihak Note Added: 0110012
2018-10-15 19:43 Juha Manninen Relationship added related to 0034417
2020-07-18 00:02 Juha Manninen Relationship added related to 0031594
2020-07-18 00:34 Martin Friebe Note Added: 0124136