[GRASS-dev] [GRASS GIS] #3402: g.gui.gmodeler: trying to add command pushes CPU to 100% and provokes freeze
GRASS GIS
trac at osgeo.org
Wed Aug 23 03:03:44 PDT 2017
#3402: g.gui.gmodeler: trying to add command pushes CPU to 100% and provokes
freeze
--------------------------+-----------------------------
Reporter: mlennert | Owner: grass-dev@…
Type: defect | Status: new
Priority: major | Milestone: 7.2.2
Component: wxGUI | Version: svn-trunk
Resolution: | Keywords: gmodeler freeze
CPU: Unspecified | Platform: Unspecified
--------------------------+-----------------------------
Comment (by mlennert):
Replying to [comment:6 mlennert]:
> Replying to [comment:5 mlennert]:
> >
> > Commenting out the SearchModuleWidget seems to do the trick:
> >
> > {{{
> > Index: gui/wxpython/gmodeler/dialogs.py
> > ===================================================================
> > --- gui/wxpython/gmodeler/dialogs.py (révision 71421)
> > +++ gui/wxpython/gmodeler/dialogs.py (copie de travail)
> > @@ -201,11 +201,11 @@
> > self.cmd_prompt.promptRunCmd.connect(self.OnCommand)
> > self.cmd_prompt.commandSelected.connect(
> > lambda command: self.label.SetValue(command))
> > - self.search = SearchModuleWidget(parent=self.panel,
> > + '''self.search = SearchModuleWidget(parent=self.panel,
> > model=menuModel.GetModel(),
> > showTip=True)
> > self.search.moduleSelected.connect(
> > - lambda name: self.cmd_prompt.SetTextAndFocus(name + ' '))
> > + lambda name: self.cmd_prompt.SetTextAndFocus(name + '
'))'''
> > wx.CallAfter(self.cmd_prompt.SetFocus)
> >
> > self.label = wx.TextCtrl(parent=self.panel, id=wx.ID_ANY)
> > @@ -249,8 +249,8 @@
> > btnSizer.Realize()
> >
> > mainSizer = wx.BoxSizer(wx.VERTICAL)
> > - mainSizer.Add(self.search, proportion=0,
> > - flag=wx.EXPAND | wx.ALL, border=3)
> > + '''mainSizer.Add(self.search, proportion=0,
> > + flag=wx.EXPAND | wx.ALL, border=3)'''
> > mainSizer.Add(cmdSizer, proportion=1,
> > flag=wx.EXPAND | wx.LEFT | wx.RIGHT | wx.TOP,
border=3)
> > mainSizer.Add(labelSizer, proportion=1,
> > }}}
> >
> > I now get a functioning window and when I start entering a module
name, I get the incremental search, can select a module and add it. Will
need to test some more.
> >
>
> However: I can only get one module onto the modeler canvas that way.
Afterwards, when I click on the button to add a module again, nothing
happens at all.
This was because of the attempt to reset the non-existant search.
However, I think I found the culprit: the tooltip ! Disabling it makes the
widget work again:
{{{
Index: gui/wxpython/gmodeler/dialogs.py
===================================================================
--- gui/wxpython/gmodeler/dialogs.py (révision 71430)
+++ gui/wxpython/gmodeler/dialogs.py (copie de travail)
@@ -203,7 +203,7 @@
lambda command: self.label.SetValue(command))
self.search = SearchModuleWidget(parent=self.panel,
model=menuModel.GetModel(),
- showTip=True)
+ showTip=False)
self.search.moduleSelected.connect(
lambda name: self.cmd_prompt.SetTextAndFocus(name + ' '))
wx.CallAfter(self.cmd_prompt.SetFocus)
}}}
Could it be that there's some encoding needed here ? This said, I have the
same error even if I set all locale settings to 'C'.
--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3402#comment:8>
GRASS GIS <https://grass.osgeo.org>
More information about the grass-dev
mailing list