Почему при удалении всех дочерних объектов в FX Ruby возникает ошибка сегментации? - PullRequest
0 голосов
/ 18 июня 2020

Всякий раз, когда я очищаю экран показанным методом, иногда, если мой курсор находится в поле или фокус находится на объекте, я получаю ошибку сегментации.

[BUG] Segmentation fault
ruby 2.6.3p62 (2019-04-16 revision 67580) [x64-mingw32]

-- Control frame information -----------------------------------------------
c:0006 p:---- s:0020 e:000019 CFUNC  :killFocus
c:0005 p:---- s:0017 e:000016 CFUNC  :setFocus
c:0004 p:---- s:0014 e:000013 CFUNC  :run
c:0003 p:0043 s:0010 e:000009 METHOD C:/Users/Louis/CareMeds/AutoMeds/src/app.rb:81
c:0002 p:0011 s:0006 e:000005 EVAL   C:/Users/Louis/CareMeds/AutoMeds/src/run.rb:10 [FINISH]
c:0001 p:0000 s:0003 E:002420 (none) [FINISH]

-- Ruby level backtrace information ----------------------------------------
C:/Users/Louis/CareMeds/AutoMeds/src/run.rb:10:in `<main>'
C:/Users/Louis/CareMeds/AutoMeds/src/app.rb:81:in `run_app'
C:/Users/Louis/CareMeds/AutoMeds/src/app.rb:81:in `run'
C:/Users/Louis/CareMeds/AutoMeds/src/app.rb:81:in `setFocus'
C:/Users/Louis/CareMeds/AutoMeds/src/app.rb:81:in `killFocus'

Я использую метод это:

def remove_children(parent)
  parent.each_child { |c| parent.removeChild(c) }
end

Я попытался удалить любой фокус с помощью:

def remove_children(parent)
  $window.focus.killFocus unless $window.focus == nil
  parent.each_child { |c| parent.removeChild(c) }
end

Но это не имело никакого эффекта.

Кто-нибудь знает, куда я могу пойти неправильно?

...