Re: [Lazarus] Fatal: Can't find unit system used by Lazarus
Le 28/01/2013 13:16, Mattias Gaertner a écrit : Have you tried to use lazarus from svn? Yes. Downloaded last SVN trunk on /home/sources/lazarus (with sita user, using Gnome commander from svn.freepascal.org/svn/lazarus/trunk/) in a shell (myuser): sita@linux-5yg5:/home/sources/lazarus make clean all ... all clean stuff /bin/mkdir -p ../units/x86_64-linux /usr/bin/ppcx64 -Ur -Xs -O2 -n -MObjFPC -Scghi -O1 -g -gl -vewnhi -l -Fu. -FE. -FU../units/x86_64-linux -Cg -dx86_64 -dRELEASE fcllaz.pas Free Pascal Compiler version 2.6.0 [2012/05/14] for x86_64 Copyright (c) 1993-2011 by Florian Klaempfl and others Target OS: Linux for x86-64 Compiling fcllaz.pas Fatal: Can't find unit system used by fcllaz Fatal: Compilation aborted make[1]: *** [fcllaz.ppu] Error 1 make[1]: Leaving directory `/home/sources/lazarus/packager/registration' make: *** [registration] Error 2 in /etc/fpc.cfg -rw-r--r-- 1 sita users 7181 May 14 2012 /etc/fpc.cfg ... # searchpath for units and other system dependent things #IFDEF CPU64 -Fu/usr/lib64/fpc/$fpcversion/units/$fpctarget -Fu/usr/lib64/fpc/$fpcversion/units/$fpctarget/* -Fu/usr/lib64/fpc/$fpcversion/units/$fpctarget/rtl *** all those folders exist and linux-5yg5:/usr/lib64/fpc/2.6.0/units/x86_64-linux/rtl # -rw-r--r-- 1 sita users 363028 May 14 2012 system.o -rw-r--r-- 1 sita users 806260 May 14 2012 system.ppu #ELSE -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/* -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/rtl #ENDIF ... Maybe there is a problem with OpenSuse 64bit. Mattias -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
[Lazarus] AlignControls
I am trying to figure out how AlignControls works. The signature is: procedure AlignControls(aControl: TControl; var aRect: TRect); override; What exactly is aControl for? Delphi's documentation says: AControl specifies the control that takes precedence in alignment when other controls have the same Align value. AControl can be nil Does it mean AControl is Nil when all controls have Align = alNone? The base method TWinControl.AlignControls is huge, over 700 lines, made by ask. There is an error in wiki page: http://wiki.freepascal.org/Autosize_/_Layout which says: The layout is applied in the method TWinControl.AlignControls which can be overridden. For example TToolBar overrides that and defines a flow layout where controls that do not fit are put into subsequent lines. However, TToolBar does not have such method. There are only 2 components with overridden AlignControls, TScrollingWinControl where it only updates scrollbars, and TControlBar where is does nothing yet. I am thinking how to use it in TControlBar and maybe in TCoolBar. As you can see I am not very experienced component writer. Regards, Juha -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] AlignControls
A related question: How can I prevent a user from moving controls associated with CoolBar bands at design-time? I guess I can set the locations of all controls in AlignControls but is there any better way? Juha -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] AlignControls
Juha Manninen juha.mannine...@gmail.com hat am 1. Februar 2013 um 11:56 geschrieben: I am trying to figure out how AlignControls works. It's complicated. The signature is: procedure AlignControls(aControl: TControl; var aRect: TRect); override; What exactly is aControl for? Delphi's documentation says: AControl specifies the control that takes precedence in alignment when other controls have the same Align value. AControl can be nil Does it mean AControl is Nil when all controls have Align = alNone? No. http://wiki.lazarus.freepascal.org/Autosize_/_Layout#TWinControl.AlignControls The base method TWinControl.AlignControls is huge, over 700 lines, made by ask. There is an error in wiki page: http://wiki.freepascal.org/Autosize_/_Layout which says: The layout is applied in the method TWinControl.AlignControls which can be overridden. For example TToolBar overrides that and defines a flow layout where controls that do not fit are put into subsequent lines. However, TToolBar does not have such method. There are only 2 components with overridden AlignControls, TScrollingWinControl where it only updates scrollbars, and TControlBar where is does nothing yet. I updated the entry. I am thinking how to use it in TControlBar and maybe in TCoolBar. As you can see I am not very experienced component writer. You are working on an unusual one. Mattias -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] AlignControls
Juha Manninen juha.mannine...@gmail.com hat am 1. Februar 2013 um 12:30 geschrieben: A related question: How can I prevent a user from moving controls associated with CoolBar bands at design-time? I guess I can set the locations of all controls in AlignControls but is there any better way? Well, your AlignControls should move them anyway, so that would be sufficient. You can set Child.ControlStyle:=Child.ControlStyle+[csDesignFixedBounds]; Mattias -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Fatal: Can't find unit system used by Lazarus
On Fri, 01 Feb 2013 10:21:00 +0100 Antonio Fortuny a.fort...@sitasoftware.lu wrote: Le 28/01/2013 13:16, Mattias Gaertner a écrit : Have you tried to use lazarus from svn? Yes. Downloaded last SVN trunk on /home/sources/lazarus (with sita user, using Gnome commander from svn.freepascal.org/svn/lazarus/trunk/) in a shell (myuser): sita@linux-5yg5:/home/sources/lazarus make clean all ... all clean stuff /bin/mkdir -p ../units/x86_64-linux /usr/bin/ppcx64 -Ur -Xs -O2 -n -MObjFPC -Scghi -O1 -g -gl -vewnhi -l -Fu. -FE. -FU../units/x86_64-linux -Cg -dx86_64 -dRELEASE fcllaz.pas From where comes the -Ur -Xs -O2 -n? The -n tells the compiler to ignore the /etc/fpc.cfg. No wonder it can not find system.ppu. The -O2 is cancelled by the following -O1. Do not use -Ur with Lazarus packages. Mattias -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Fatal: Can't find unit system used by Lazarus
Le 01/02/2013 13:58, Mattias Gaertner a écrit : On Fri, 01 Feb 2013 10:21:00 +0100 Antonio Fortuny a.fort...@sitasoftware.lu wrote: Le 28/01/2013 13:16, Mattias Gaertner a écrit : Have you tried to use lazarus from svn? Yes. Downloaded last SVN trunk on /home/sources/lazarus (with sita user, using Gnome commander from svn.freepascal.org/svn/lazarus/trunk/) in a shell (myuser): sita@linux-5yg5:/home/sources/lazarus make clean all ... all clean stuff /bin/mkdir -p ../units/x86_64-linux /usr/bin/ppcx64 -Ur -Xs -O2 -n -MObjFPC -Scghi -O1 -g -gl -vewnhi -l -Fu. -FE. -FU../units/x86_64-linux -Cg -dx86_64 -dRELEASE fcllaz.pas From where comes the -Ur -Xs -O2 -n? No idea but it should be in the original Makefile I presume I did not change anything after download from SVN, just: make clean all in new downloaded lazarus folder The -n tells the compiler to ignore the /etc/fpc.cfg. No wonder it can not find system.ppu. The -O2 is cancelled by the following -O1. Do not use -Ur with Lazarus packages. Mattias -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Fatal: Can't find unit system used by Lazarus
On Fri, 01 Feb 2013 14:02:54 +0100 Antonio Fortuny a.fort...@sitasoftware.lu wrote: Le 01/02/2013 13:58, Mattias Gaertner a écrit : On Fri, 01 Feb 2013 10:21:00 +0100 Antonio Fortuny a.fort...@sitasoftware.lu wrote: Le 28/01/2013 13:16, Mattias Gaertner a écrit : Have you tried to use lazarus from svn? Yes. Downloaded last SVN trunk on /home/sources/lazarus (with sita user, using Gnome commander from svn.freepascal.org/svn/lazarus/trunk/) in a shell (myuser): sita@linux-5yg5:/home/sources/lazarus make clean all ... all clean stuff /bin/mkdir -p ../units/x86_64-linux /usr/bin/ppcx64 -Ur -Xs -O2 -n -MObjFPC -Scghi -O1 -g -gl -vewnhi -l -Fu. -FE. -FU../units/x86_64-linux -Cg -dx86_64 -dRELEASE fcllaz.pas From where comes the -Ur -Xs -O2 -n? No idea but it should be in the original Makefile I presume I did not change anything after download from SVN, just: make clean all in new downloaded lazarus folder Your RELEASE environment variable is set. Clear it. RELEASE= make clean all Mattias -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Fatal: Can't find unit system used by Lazarus
Your RELEASE environment variable is set. Clear it. RELEASE= make clean all OK, it works !! Thanks again Mattias But, because I wouldn't like to die stupid, would you be so kind to explain to me how this |@#µ$[!! environment variable has been set ? Antonio. Mattias -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
[Lazarus] Synedit free makes an access violation exception
Helllo, When trying to do SynEdit.free (and FreeAndNil), I have an access violation exception. I cant figure out why. My code: https://github.com/ik5/split_lazarus/blob/master/src/untlazsplitview_code.pas#L174 Lazarus 1.1 r40111M FPC 2.6.0 x86_64-linux-gtk 2 Thanks, Ido -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Synedit free makes an access violation exception
On 01/02/2013 17:47, ik wrote: Helllo, When trying to do SynEdit.free (and FreeAndNil), I have an access violation exception. I cant figure out why. My code: https://github.com/ik5/split_lazarus/blob/master/src/untlazsplitview_code.pas#L174 Lazarus 1.1 r40111M FPC 2.6.0 x86_64-linux-gtk 2 Stacktrace? -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
[Lazarus] TSynCustomBeautifier
Hello! I'm trying to create a custom SynEdit Beautifier, and looks like I need to access FCurrentEditor and FCurrentLines fields of TSynCustomBeautifier. But they are delcared private, so I cannot. By the way, SynBeautifierPascal access them (it is located in the same source file, so it works). Is it possible to move them to protected? Or am I doing something wrong? Thanks. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] TSynCustomBeautifier
On 01/02/2013 19:39, Misha Padalka wrote: Hello! I'm trying to create a custom SynEdit Beautifier, and looks like I need to access FCurrentEditor and FCurrentLines fields of TSynCustomBeautifier. But they are delcared private, so I cannot. By the way, SynBeautifierPascal access them (it is located in the same source file, so it works). Is it possible to move them to protected? Or am I doing something wrong? Done in trunk (protected read property) -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Form ordering problem on tiling window manager
On 01.02.2013 02:36, Mattias Gaertner wrote: On Fri, 01 Feb 2013 01:44:17 +0100 Hans-Peter Diettrich drdiettri...@aol.com wrote: Mattias Gaertner schrieb: From the output: The LCL gtk2 interfaces sets the right order. TOpenDialog on top of OI on top of MainIDE on Form1 on SrcNB on MsgView. So, the question is what does this WM need more than gtk_window_set_transient_for. http://developer.gimp.org/api/2.0/gtk/GtkWindow.html#gtk-window-set-transient-for A WM manages the windows, and a widgetset (gtk...) only can tell the WM how his windows should be ordered. A WM may e.g. reorder the window order on focus switch or other actions, without telling or asking the widgetset. According to its source code, awesome knows the transient WM HINT. To make sure: Sven, please test if you can focus or bring to front other IDE windows while a modal dialog is open. Before the error happens and after. The point is: I can focus other windows without problems (I'm using the focus follows mouse cursor feature), but I can't interact with those other non-modal windows and they also aren't brought to the front. I've attached a log where I did the following: * openen open file dialog * focused object inspector by moving the mouse there * closed the dialog * moved the mouse (and thus the focus) onto the following windows (in that order) - object inspector - form - source editor - message window * opened the dialog again = the dialog now appeared behind all other windows Regards, Sven SetPrimaryConfigPath NewValue=/home/sven/.lazarus/1.1-new - /home/sven/.lazarus/1.1-new TMainIDE.ParseCmdLineOptions: PrimaryConfigPath=/home/sven/.lazarus/1.1-new/ SecondaryConfigPath=/etc/lazarus Hinweis: CodeTools-Konfigurationsdatei nicht gefunden - verwende Voreinstellungen NOTE: help options config file not found - using defaults TGtk2WidgetSet.ShowHide HIDE TSplashForm TGtk2WidgetSet.UntransientWindow 0AFE38E0 LCLObject=TSplashForm TGtk2WidgetSet.UpdateTransientWindows TGtk2WidgetSet.UpdateTransientWindows Untransient 4 MainIDE:TMainIDEBar TGtk2WidgetSet.UpdateTransientWindows Untransient 3 Form1:TForm1 TGtk2WidgetSet.UpdateTransientWindows Untransient 2 SourceNotebook:TSourceNotebook TGtk2WidgetSet.UpdateTransientWindows Untransient 1 ObjectInspectorDlg:TObjectInspectorDlg TGtk2WidgetSet.UpdateTransientWindows Untransient 0 MessagesView:TMessagesView TGtk2WidgetSet.UntransientWindow 0AFE38E0 LCLObject=TSplashForm TGtk2WidgetSet.UpdateTransientWindows TGtk2WidgetSet.UpdateTransientWindows Untransient 4 MainIDE:TMainIDEBar TGtk2WidgetSet.UpdateTransientWindows Untransient 3 Form1:TForm1 TGtk2WidgetSet.UpdateTransientWindows Untransient 2 SourceNotebook:TSourceNotebook TGtk2WidgetSet.UpdateTransientWindows Untransient 1 ObjectInspectorDlg:TObjectInspectorDlg TGtk2WidgetSet.UpdateTransientWindows Untransient 0 MessagesView:TMessagesView TGtkWidgetSet.GtkWindowShowModal nil TGtk2WidgetSet.UpdateTransientWindows Define TRANSIENT Parent=MessagesView:TMessagesView Index=4 Wnd=0B1D3CD0 Child=SourceNotebook:TSourceNotebook Index=3 Wnd=0B1FBD80 Define TRANSIENT Parent=SourceNotebook:TSourceNotebook Index=3 Wnd=0B1FBD80 Child=Form1:TForm1 Index=2 Wnd=0B20A700 Define TRANSIENT Parent=Form1:TForm1 Index=2 Wnd=0B20A700 Child=MainIDE:TMainIDEBar Index=1 Wnd=0AFE3C50 Define TRANSIENT Parent=MainIDE:TMainIDEBar Index=1 Wnd=0AFE3C50 Child=ObjectInspectorDlg:TObjectInspectorDlg Index=0 Wnd=0B1D40B8 Define TRANSIENT Parent=ObjectInspectorDlg:TObjectInspectorDlg Index=0 Wnd=0B1D40B8 Child=:TOpenDialog Index=0 Wnd=0B2CB020 Break old TRANSIENT i=5/6 OldTransientParent= Child=:TOpenDialog Index=0 Wnd=0B2CB020 Break old TRANSIENT i=4/6 OldTransientParent= Child=ObjectInspectorDlg:TObjectInspectorDlg Index=0 Wnd=0B1D40B8 Break old TRANSIENT i=3/6 OldTransientParent= Child=MainIDE:TMainIDEBar Index=1 Wnd=0AFE3C50 Break old TRANSIENT i=2/6 OldTransientParent= Child=Form1:TForm1 Index=2 Wnd=0B20A700 Break old TRANSIENT i=1/6 OldTransientParent= Child=SourceNotebook:TSourceNotebook Index=3 Wnd=0B1FBD80 Set TRANSIENT i=1/6 Child=SourceNotebook:TSourceNotebook Index=3 Wnd=0B1FBD80 Parent=0B1D3CD0 Set TRANSIENT i=2/6 Child=Form1:TForm1 Index=2 Wnd=0B20A700 Parent=0B1FBD80 Set TRANSIENT i=3/6 Child=MainIDE:TMainIDEBar Index=1 Wnd=0AFE3C50 Parent=0B20A700 Set TRANSIENT i=4/6 Child=ObjectInspectorDlg:TObjectInspectorDlg Index=0 Wnd=0B1D40B8 Parent=0AFE3C50 Set TRANSIENT i=5/6 Child=:TOpenDialog Index=0 Wnd=0B2CB020 Parent=0B1D40B8 DestroyCommonDialogAddOns :TOpenDialog DestroyCommonDialogAddOns :TOpenDialog TGtk2WidgetSet.UntransientWindow 0B2CB020 LCLObject=TOpenDialog TGtk2WidgetSet.UpdateTransientWindows TGtk2WidgetSet.UpdateTransientWindows Untransient 4 MainIDE:TMainIDEBar TGtk2WidgetSet.UpdateTransientWindows Untransient 3 Form1:TForm1 TGtk2WidgetSet.UpdateTransientWindows Untransient 2 SourceNotebook:TSourceNotebook TGtk2WidgetSet.UpdateTransientWindows Untransient 1
Re: [Lazarus] Synedit free makes an access violation exception
On Fri, Feb 1, 2013 at 8:13 PM, Martin laza...@mfriebe.de wrote: On 01/02/2013 17:47, ik wrote: Helllo, When trying to do SynEdit.free (and FreeAndNil), I have an access violation exception. I cant figure out why. My code: https://github.com/ik5/split_lazarus/blob/master/src/untlazsplitview_code.pas#L174 Lazarus 1.1 r40111M FPC 2.6.0 x86_64-linux-gtk 2 Stacktrace? TApplication.HandleException Access violation Stack trace: $009ECE9F $01523FC8 line 1092 of syneditmiscclasses.pp $0156808E line 762 of syngutterbase.pp $009ECEA2 $01563812 line 181 of syngutter.pp $009ECEA2 $009ECEA2 $01BA0CAC line 228 of ../src/untlazsplitview_code.pas $01BA07DF line 257 of ../src/untlazsplitview_code.pas $01B9FB72 line 91 of ../src/untlazsplitview_code.pas $00FD835B line 581 of menuintf.pas $00FDEA94 line 1655 of menuintf.pas $00CD0400 line 83 of include/menuitem.inc $00CD0F7E line 278 of include/menuitem.inc $009ED3C9 $00D78FDA line 3591 of gtk2/gtk2proc.inc $00E812EF line 142 of gtk2/gtk2wsmenus.pp -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Synedit free makes an access violation exception
Well do you add, remove, create any gutterparts? On 01/02/2013 20:08, ik wrote: On Fri, Feb 1, 2013 at 8:13 PM, Martin laza...@mfriebe.de wrote: On 01/02/2013 17:47, ik wrote: Helllo, When trying to do SynEdit.free (and FreeAndNil), I have an access violation exception. I cant figure out why. My code: https://github.com/ik5/split_lazarus/blob/master/src/untlazsplitview_code.pas#L174 Lazarus 1.1 r40111M FPC 2.6.0 x86_64-linux-gtk 2 Stacktrace? TApplication.HandleException Access violation Stack trace: $009ECE9F $01523FC8 line 1092 of syneditmiscclasses.pp $0156808E line 762 of syngutterbase.pp $009ECEA2 $01563812 line 181 of syngutter.pp $009ECEA2 $009ECEA2 $01BA0CAC line 228 of ../src/untlazsplitview_code.pas $01BA07DF line 257 of ../src/untlazsplitview_code.pas $01B9FB72 line 91 of ../src/untlazsplitview_code.pas $00FD835B line 581 of menuintf.pas $00FDEA94 line 1655 of menuintf.pas $00CD0400 line 83 of include/menuitem.inc $00CD0F7E line 278 of include/menuitem.inc $009ED3C9 $00D78FDA line 3591 of gtk2/gtk2proc.inc $00E812EF line 142 of gtk2/gtk2wsmenus.pp -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] TSynCustomBeautifier
Fri, 01 Feb 2013 22:02:41 +0200 було написано Martin laza...@mfriebe.de: On 01/02/2013 19:39, Misha Padalka wrote: Hello! I'm trying to create a custom SynEdit Beautifier, and looks like I need to access FCurrentEditor and FCurrentLines fields of TSynCustomBeautifier. But they are delcared private, so I cannot. By the way, SynBeautifierPascal access them (it is located in the same source file, so it works). Is it possible to move them to protected? Or am I doing something wrong? Done in trunk (protected read property) Thanks! -- За використання клієнта електронної пошти Opera: http://www.opera.com/mail/ -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Synedit free makes an access violation exception
On Fri, Feb 1, 2013 at 10:12 PM, Martin laza...@mfriebe.de wrote: Well do you add, remove, create any gutterparts? Assigned gutterparts, what is the proper action to free it ? On 01/02/2013 20:08, ik wrote: On Fri, Feb 1, 2013 at 8:13 PM, Martin laza...@mfriebe.de wrote: On 01/02/2013 17:47, ik wrote: Helllo, When trying to do SynEdit.free (and FreeAndNil), I have an access violation exception. I cant figure out why. My code: https://github.com/ik5/split_lazarus/blob/master/src/untlazsplitview_code.pas#L174 Lazarus 1.1 r40111M FPC 2.6.0 x86_64-linux-gtk 2 Stacktrace? TApplication.HandleException Access violation Stack trace: $009ECE9F $01523FC8 line 1092 of syneditmiscclasses.pp $0156808E line 762 of syngutterbase.pp $009ECEA2 $01563812 line 181 of syngutter.pp $009ECEA2 $009ECEA2 $01BA0CAC line 228 of ../src/untlazsplitview_code.pas $01BA07DF line 257 of ../src/untlazsplitview_code.pas $01B9FB72 line 91 of ../src/untlazsplitview_code.pas $00FD835B line 581 of menuintf.pas $00FDEA94 line 1655 of menuintf.pas $00CD0400 line 83 of include/menuitem.inc $00CD0F7E line 278 of include/menuitem.inc $009ED3C9 $00D78FDA line 3591 of gtk2/gtk2proc.inc $00E812EF line 142 of gtk2/gtk2wsmenus.pp -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Form ordering problem on tiling window manager
On 01.02.2013 07:19, zeljko wrote: On Thursday 31 of January 2013 22:44:33 Mattias Gaertner wrote: On Thu, 31 Jan 2013 22:15:26 +0100 Sven Barth pascaldra...@googlemail.com wrote: On 31.01.2013 09:39, Mattias Gaertner wrote: On Wed, 30 Jan 2013 21:24:38 +0100 Sven Barth pascaldra...@googlemail.com wrote: [...] But rather often something happens (I don't know what exactly and I'd like to find this out) and then I can click on the window and I use the switching window keyboard shortcut all I want and nothing happens. This even goes so far that modal dialogs (exception windows, open/save dialog) are opened behind(!) all other windows. So I first need to move the IDE and other windows out of the way before I can work in that dialog. I need to restart the IDE to revert to the original behavior again (for a while...). For now I've only achieved this problem with the IDE, not with a custom program. It would be nice if someone had an idea what I could test to narrow this problem down (the console output does not print anything useful). If you have trouble with ShowModal, then it is a bug in the LCL gtk2 interface or below. ShowModal had in the past some problems with other window managers too. Please update to 40085, compile with -dVerboseTransient, then run again. When it happens again look at the end of the output for 'DEFINE transient'. I've done as you proposed (it's an IDE with virgin settings and without docking, just in case) and I've attached two debug outputs. In both cases I have started the IDE and opened the File Open dialog with Ctrl+O. In the normal case I've closed the dialog using ESC in the problem case I've first used Win+k to switch to a different window of the IDE (which wasn't moved to front of course, but the windows manager nevertheless marked the windows as focused) and then I've closed the dialog. After this forceful switch the behavior described in my original mail appeared (reproduceable). From the output: The LCL gtk2 interfaces sets the right order. TOpenDialog on top of OI on top of MainIDE on Form1 on SrcNB on MsgView. So, the question is what does this WM need more than gtk_window_set_transient_for. http://developer.gimp.org/api/2.0/gtk/GtkWindow.html#gtk-window-set-transie nt-for Maybe an trial with same behaviour as for 'kwin' wm. TGtk2WidgetSet.Create ... if (GetWindowManager = 'kwin') or (GetWindowManager='YOURWM') then ... With that part I've fixed transient windows behaviour under kwin (KDE). Real name you can find with DebugLn(GetWindowManager). With that extension (Note: I used a variable instead of calling GetWindowsManager twice) the behavior is now like this: * when a modal dialog is open and you click(!) on a non-modal window than this window is brought to the front, but you can not interact with it (this does not happen if you just move the mouse onto that window to focus it) * after the dialog is closed (and a another window was brought to the front while the dialog was open) I can still bring windows to the front by focusing them (and if I open a modal dialog again it's shown at the top of the other windows) So while it's unnice that windows can be brought to the front while a modal dialog is open it at least solves the problem that I can't bring any windows to the front anymore... I'll now also try Qt and report back... Regards, Sven -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Form ordering problem on tiling window manager
On 01.02.2013 21:32, Sven Barth wrote: I'll now also try Qt and report back... Ok, Qt nearly has the same behavior as Gtk2 with the GetWindowManager workaround applied. I can move the cursor onto non-modal windows if a modal one is open and if I click them the window is moved to the top, but I can't interact with it. There is one difference though: Qt forces the focus back to the modal window. I've noticed this, because awesome shows me a windows button for each open IDE window. Now in Gtk2 if I move the mouse to a different window than the modal one than this second windows stays active (the window's button is highlighted). But in Qt if I move the cursor to another window this window's button is only highlighted shortly and then the modal window one's is highlighted again. Regards, Sven -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Synedit free makes an access violation exception
I will have to debug that. It may be that Cutter.Assign is not working. It seems to only copy the pointers to the other edits gutter parts... And that is not right. - in the IDE, you need to send each edit to EditorOptions (Refresh/REloud-EditorSetting. search SourceEditor of course, that actually requires a TSynSourceEditor... which is impossible for packages, because it is in the ide On 01/02/2013 20:22, ik wrote: On Fri, Feb 1, 2013 at 10:12 PM, Martin laza...@mfriebe.de wrote: Well do you add, remove, create any gutterparts? Assigned gutterparts, what is the proper action to free it ? On 01/02/2013 20:08, ik wrote: On Fri, Feb 1, 2013 at 8:13 PM, Martin laza...@mfriebe.de wrote: On 01/02/2013 17:47, ik wrote: Helllo, When trying to do SynEdit.free (and FreeAndNil), I have an access violation exception. I cant figure out why. My code: https://github.com/ik5/split_lazarus/blob/master/src/untlazsplitview_code.pas#L174 Lazarus 1.1 r40111M FPC 2.6.0 x86_64-linux-gtk 2 Stacktrace? TApplication.HandleException Access violation Stack trace: $009ECE9F $01523FC8 line 1092 of syneditmiscclasses.pp $0156808E line 762 of syngutterbase.pp $009ECEA2 $01563812 line 181 of syngutter.pp $009ECEA2 $009ECEA2 $01BA0CAC line 228 of ../src/untlazsplitview_code.pas $01BA07DF line 257 of ../src/untlazsplitview_code.pas $01B9FB72 line 91 of ../src/untlazsplitview_code.pas $00FD835B line 581 of menuintf.pas $00FDEA94 line 1655 of menuintf.pas $00CD0400 line 83 of include/menuitem.inc $00CD0F7E line 278 of include/menuitem.inc $009ED3C9 $00D78FDA line 3591 of gtk2/gtk2proc.inc $00E812EF line 142 of gtk2/gtk2wsmenus.pp -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Synedit free makes an access violation exception
On 01/02/2013 20:43, Martin wrote: I will have to debug that. It may be that Cutter.Assign is not working. It seems to only copy the pointers to the other edits gutter parts... And that is not right. If you whish to look (I dant know when I get to it). I THINK it may be this procedure TSynObjectList.Assign(Source: TPersistent); begin FList.Assign(TSynObjectList(Source).FList); DoChange(self); end; Flist is a tlist, so just pointer copy... - in the IDE, you need to send each edit to EditorOptions (Refresh/REloud-EditorSetting. search SourceEditor of course, that actually requires a TSynSourceEditor... which is impossible for packages, because it is in the ide On 01/02/2013 20:22, ik wrote: On Fri, Feb 1, 2013 at 10:12 PM, Martin laza...@mfriebe.de wrote: Well do you add, remove, create any gutterparts? Assigned gutterparts, what is the proper action to free it ? On 01/02/2013 20:08, ik wrote: On Fri, Feb 1, 2013 at 8:13 PM, Martin laza...@mfriebe.de wrote: On 01/02/2013 17:47, ik wrote: Helllo, When trying to do SynEdit.free (and FreeAndNil), I have an access violation exception. I cant figure out why. My code: https://github.com/ik5/split_lazarus/blob/master/src/untlazsplitview_code.pas#L174 Lazarus 1.1 r40111M FPC 2.6.0 x86_64-linux-gtk 2 Stacktrace? TApplication.HandleException Access violation Stack trace: $009ECE9F $01523FC8 line 1092 of syneditmiscclasses.pp $0156808E line 762 of syngutterbase.pp $009ECEA2 $01563812 line 181 of syngutter.pp $009ECEA2 $009ECEA2 $01BA0CAC line 228 of ../src/untlazsplitview_code.pas $01BA07DF line 257 of ../src/untlazsplitview_code.pas $01B9FB72 line 91 of ../src/untlazsplitview_code.pas $00FD835B line 581 of menuintf.pas $00FDEA94 line 1655 of menuintf.pas $00CD0400 line 83 of include/menuitem.inc $00CD0F7E line 278 of include/menuitem.inc $009ED3C9 $00D78FDA line 3591 of gtk2/gtk2proc.inc $00E812EF line 142 of gtk2/gtk2wsmenus.pp -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Synedit free makes an access violation exception
On Fri, Feb 1, 2013 at 10:45 PM, Martin laza...@mfriebe.de wrote: On 01/02/2013 20:43, Martin wrote: I will have to debug that. It may be that Cutter.Assign is not working. It seems to only copy the pointers to the other edits gutter parts... And that is not right. If you whish to look (I dant know when I get to it). I THINK it may be this procedure TSynObjectList.Assign(Source: TPersistent); begin FList.Assign(TSynObjectList(Source).FList); DoChange(self); end; Flist is a tlist, so just pointer copy... Thanks - in the IDE, you need to send each edit to EditorOptions (Refresh/REloud-EditorSetting. search SourceEditor of course, that actually requires a TSynSourceEditor... which is impossible for packages, because it is in the ide On 01/02/2013 20:22, ik wrote: On Fri, Feb 1, 2013 at 10:12 PM, Martin laza...@mfriebe.de wrote: Well do you add, remove, create any gutterparts? Assigned gutterparts, what is the proper action to free it ? On 01/02/2013 20:08, ik wrote: On Fri, Feb 1, 2013 at 8:13 PM, Martin laza...@mfriebe.de wrote: On 01/02/2013 17:47, ik wrote: Helllo, When trying to do SynEdit.free (and FreeAndNil), I have an access violation exception. I cant figure out why. My code: https://github.com/ik5/split_lazarus/blob/master/src/untlazsplitview_code.pas#L174 Lazarus 1.1 r40111M FPC 2.6.0 x86_64-linux-gtk 2 Stacktrace? TApplication.HandleException Access violation Stack trace: $009ECE9F $01523FC8 line 1092 of syneditmiscclasses.pp $0156808E line 762 of syngutterbase.pp $009ECEA2 $01563812 line 181 of syngutter.pp $009ECEA2 $009ECEA2 $01BA0CAC line 228 of ../src/untlazsplitview_code.pas $01BA07DF line 257 of ../src/untlazsplitview_code.pas $01B9FB72 line 91 of ../src/untlazsplitview_code.pas $00FD835B line 581 of menuintf.pas $00FDEA94 line 1655 of menuintf.pas $00CD0400 line 83 of include/menuitem.inc $00CD0F7E line 278 of include/menuitem.inc $009ED3C9 $00D78FDA line 3591 of gtk2/gtk2proc.inc $00E812EF line 142 of gtk2/gtk2wsmenus.pp -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Synedit free makes an access violation exception
On 01/02/2013 20:48, ik wrote: On Fri, Feb 1, 2013 at 10:45 PM, Martin laza...@mfriebe.de wrote: On 01/02/2013 20:43, Martin wrote: I will have to debug that. It may be that Cutter.Assign is not working. It seems to only copy the pointers to the other edits gutter parts... And that is not right. If you whish to look (I dant know when I get to it). I THINK it may be this procedure TSynObjectList.Assign(Source: TPersistent); begin FList.Assign(TSynObjectList(Source).FList); DoChange(self); end; Flist is a tlist, so just pointer copy... Thanks But you will still have the problem, that your 2nd TSynEdit wil[l not behave in the IDE. How will it be updated, if EditorOptions Change? And if it is not a TSynSourceEditor then it will not have all of the features. - SyncroEdit. Enabled in TSynSourceEditor. Of course you can enable by hand. - TopHint with function name. implemented in TSynSourceEditor - overviewgutter, partly implemented in TSynSourceEditor - new (trunk) user-defined words markup, partly implemented in TSynSourceEditor - in the IDE, you need to send each edit to EditorOptions (Refresh/REloud-EditorSetting. search SourceEditor of course, that actually requires a TSynSourceEditor... which is impossible for packages, because it is in the ide -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Form ordering problem on tiling window manager
Sven Barth schrieb: The point is: I can focus other windows without problems (I'm using the focus follows mouse cursor feature), but I can't interact with those other non-modal windows and they also aren't brought to the front. Just a note: The focus follows mouse is/was a dangerous feature of the XWindows manager. In the 80s some people found it funny to move the mouse of somebody else, who was entering text. As soon as the mouse left the current window, further keystrokes ended up in nirvana, or in another window. The (later?) introduction of modal forms is implemented in both an window manager (system modal) *and* application (application modal), with possibly strange effects when used together with focus follows mouse. When the WM doesn't honor or even doesn't know about application modal windows, and redirects input to other than the application top-level modal window, the results can become inpredictable. DoDi -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
[Lazarus] IDE window positions
Hi all, kubuntu 12.04 64 bit. lazarus 1.0.4 and 1.1 39930. Tired of re-positioning IDE windows after lazarus start-up I have defined custom positions for the main IDE windows. Now, when I start up the computer and start lazarus, the windows are all messed up. I close lazarus, restart lazarus and some of the windows are in the correct position, restart lazarus again and all windows are as defined!! Sometimes a 4th restart is needed. I can restart lazarus as many times as needed thereafter and the windows will be positioned fine, until the next reboot. When the windows are messed up, the position is random but not the window sizes. The windows sizes are as pre-defined or saved (I have only 6 custom positions, the other are restore window geometry) but the Main Menu will be in the position of fe. the console window or message window, etc. As if a the window positions are restored with a wrong, random, offset. Is there something I can do to debug this? This is repeatable and could be the reason for some of the complaints of some people about window positions not always being restored correctly (Graeme?). Combine this behaviour with restore window geometry and there is no way to get your original window positions back since, the wrong positions are saved when exiting lazarus. Mantis? thanks, Ludo -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus