[Lazarus] usability: please not focus the messages window, only bring to front

Bernd prof7bit at googlemail.com
Mon May 21 19:19:40 CEST 2012


2012/5/21 Mattias Gaertner <nc-gaertnma at netcologne.de>:

>  IDEWindowCreators.ShowForm(MessagesView,EnvironmentOptions.MsgViewFocus);

This does not focus the window. Its happening later. It is raising an exception:

#0 fpc_raiseexception(0xac8b9b20, 0xad22c760, 0xbfffe928) at
/home/bernd/lazsvn/fixes_2_6/rtl/inc/except.inc:191
#1 OUTPUTFILTER_TOUTPUTFILTER_$__RAISEOUTPUTFILTERERROR$ANSISTRING at :0
#2 ?? at :0
#3 OUTPUTFILTER_TOUTPUTFILTER_$__READLINE$ANSISTRING$BOOLEAN at :0
#4 OUTPUTFILTER_TOUTPUTFILTER_$__EXECUTE$TPROCESSUTF8$TOBJECT$TIDEEXTERNALTOOLOPTIONS$$BOOLEAN
at :0
#5 COMPILER_TCOMPILER_$__COMPILE$crc831BB2E1 at :0
#6 TMAINIDE__DOBUILDPROJECT(CRBUILD, [PBFCLEANCOMPILE], <error reading
variable>) at main.pp:12271
#7 TMAINIDE__ONPROCESSIDECOMMAND(0xad25cf10, 1402, true, <error
reading variable>) at main.pp:3344
#8 TSOURCENOTEBOOK__PROCESSPARENTCOMMAND(0xac853920, 1402, '', 0x0,
true, <error reading variable>) at sourceeditor.pp:7496
#9 TSOURCEEDITOR__PROCESSUSERCOMMAND(0xac647e90, 1402, '', 0x0, <error
reading variable>) at sourceeditor.pp:3230
#10 TCUSTOMSYNEDIT__DOONPROCESSCOMMAND(1402, '', 0x0, <error reading
variable>) at synedit.pp:6578
#11 TCUSTOMSYNEDIT__COMMANDPROCESSOR(1402, '', 0x0, <error reading
variable>) at synedit.pp:5973
#12 TCUSTOMSYNEDIT__KEYDOWN(0, [], <error reading variable>) at synedit.pp:2732
#13 TWINCONTROL__KEYDOWNBEFOREINTERFACE(0, [], <error reading
variable>) at ./include/wincontrol.inc:5540
#14 TWINCONTROL__DOKEYDOWNBEFOREINTERFACE({MSG = 48384, CHARCODE = 0,
UNUSED = 0, KEYDATA = 4653057, RESULT = 0}, false, <error reading
variable>) at ./include/wincontrol.inc:5669
#15 TWINCONTROL__CNKEYDOWN({MSG = 48384, CHARCODE = 0, UNUSED = 0,
KEYDATA = 4653057, RESULT = 0}, <error reading variable>) at
./include/wincontrol.inc:6960
#16 _$SYSTEM$_Ll5512(void, <error reading variable>) at
/home/bernd/lazsvn/fixes_2_6/rtl/inc/objpas.inc:592
#17 RAISELOOP(0xbffff224) at ./include/wincontrol.inc:6870
#18 TWINCONTROL__WNDPROC({MSG = 48384, WPARAM = 0, LPARAM = 4653057,
RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 1, LPARAMHI = 71,
RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at
./include/wincontrol.inc:5298
#19 TCUSTOMSYNEDIT__WNDPROC({MSG = 48384, WPARAM = 0, LPARAM =
4653057, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 1,
LPARAMHI = 71, RESULTLO = 0, RESULTHI = 0}, <error reading variable>)
at synedit.pp:5560
#20 DELIVERMESSAGE(0xac647e90, void) at lclmessageglue.pas:117
#21 DELIVERMESSAGE(0xac647e90, void) at ./gtk2/gtk2proc.inc:3591
#22 DELIVERKEYMESSAGE(0xac647e90, void, 0xbffff244) at ./gtk2/gtk2proc.inc:1958
#23 HANDLEGTKKEYUPDOWN(0x95c8110, 0x956aa38, 0xad25cf10, true, true,
0x8b7023c 'key-press-event') at ./gtk2/gtk2proc.inc:2342
#24 GTKKEYPRESS(0x95c8110, 0x956aa38, 0xad25cf10) at ./gtk2/gtk2callback.inc:822
#25 ?? at :0
#26 g_closure_invoke at :0
#27 ?? at :0
#28 g_signal_emit_valist at :0
#29 g_signal_emit at :0
#30 ?? at :0
#31 gtk_propagate_event at :0
#32 gtk_main_do_event at :0
#33 ?? at :0
#34 g_main_context_dispatch at :0
#35 ?? at :0
#36 g_main_context_iteration at :0
#37 TGTK2WIDGETSET__APPWAITMESSAGE(<error reading variable>) at
./gtk2/gtk2widgetset.inc:2402
#38 TAPPLICATION__IDLE(true, <error reading variable>) at
./include/application.inc:417
#39 TAPPLICATION__HANDLEMESSAGE(<error reading variable>) at
./include/application.inc:1281
#40 TAPPLICATION__RUNLOOP(<error reading variable>) at
./include/application.inc:1413
#41 TWIDGETSET__APPRUN(0x80a6730 <TAPPLICATION__RUNLOOP>, <error
reading variable>) at ./include/interfacebase.inc:60
#42 TAPPLICATION__RUN(<error reading variable>) at
./include/application.inc:1401
#43 main at lazarus.pp:116

and then I am somewhere deep inside some FPC RTL exception code and
for some reason not able to continue stepping to the point where thsi
exception is actually handled. I suspect where this exception is
handled there is also the code that actually prints the lines into the
message window and that also focuses the message window.

When I provoke an error with the code tools it will also raise an
exception. I suspect I need to find where this exception is handled so
I can continue to investigate what is actually printing the lines into
message window.

I'm looking for the code that does the printing of the error messages
into the message window.




More information about the Lazarus mailing list