From: Jerome St-Louis Date: Wed, 28 Aug 2013 05:12:24 +0000 (-0400) Subject: ide/CodeEditor: fixed escape not closing membersList on X11 X-Git-Tag: 0.44.09~30 X-Git-Url: https://ecere.com/cgi-bin/gitweb.cgi?p=sdk;a=commitdiff_plain;h=5039cba8034360aeaf09a3c355353c3598b94a57 ide/CodeEditor: fixed escape not closing membersList on X11 --- diff --git a/ide/src/designer/CodeEditor.ec b/ide/src/designer/CodeEditor.ec index d3dccd2..9041091 100644 --- a/ide/src/designer/CodeEditor.ec +++ b/ide/src/designer/CodeEditor.ec @@ -1378,7 +1378,7 @@ class CodeEditor : Window bool NotifyKeyDown(EditBox editBox, Key key, unichar ch) { - if(key == Key { space, ctrl = true }) + if(key == ctrlSpace) { membersList.Destroy(0); membersListShown = false; @@ -1528,7 +1528,7 @@ class CodeEditor : Window return false; } - bool OnActivate(bool active, Window previous, bool * goOnWithActivation, bool direct) + /*bool OnActivate(bool active, Window previous, bool * goOnWithActivation, bool direct) { CodeEditor editor = (CodeEditor)master; Window rw = previous ? previous.rootWindow : null; @@ -1538,7 +1538,7 @@ class CodeEditor : Window editor.membersListShown = false; } return ListBox::OnActivate(active, previous, goOnWithActivation, direct); - } + }*/ bool OnKeyHit(Key key, unichar ch) { @@ -1604,17 +1604,17 @@ class CodeEditor : Window OnKeyDown = membersList.OnKeyDown; - bool OnActivate(bool active, Window previous, bool * goOnWithActivation, bool direct) + /*bool OnActivate(bool active, Window previous, bool * goOnWithActivation, bool direct) { CodeEditor editor = (CodeEditor)master; Window rw = previous ? previous.rootWindow : null; if(!active && previous != editor.editBox && rw != editor.membersList) { Destroy(0); - editor.membersListShown = false; + editor.paramsShown = false; } return Window::OnActivate(active, previous, goOnWithActivation, direct); - } + }*/ bool OnKeyHit(Key key, unichar ch) { @@ -2206,6 +2206,25 @@ class CodeEditor : Window ProcessCaretMove(editBox, line, charPos); } } + if(!active) + { + if(membersListShown) + { + membersList.Destroy(0); + membersListShown = false; + } + if(paramsShown) + { + paramsList.Destroy(0); + paramsShown = false; + FreeType(functionType); + FreeType(instanceType); + + functionType = null; + instanceType = null; + paramsID = -1; + } + } return true; }