[Scummvm-tracker] [ScummVM] #9711: GUI: Changing 'GUI Language' in Global Options removes theme overlay.

Thierry Crozat trac at scummvm.org
Tue Mar 7 04:00:55 CET 2017


#9711: GUI: Changing 'GUI Language' in Global Options removes theme overlay.
---------------------+--------------------
  Reporter:  macca8  |      Owner:  (none)
      Type:  defect  |     Status:  new
  Priority:  normal  |  Component:  GUI
Resolution:          |   Keywords:
      Game:          |
---------------------+--------------------

Comment (by criezy):

 Note for other developers (and my future self): I just made some test with
 valgrind and it does appear that there is a memory issue. When applying a
 change in the options dialog I get the following error:

 ==36687== Invalid write of size 1
 ==36687==    at 0x102140E7E: GUI::ButtonWidget::handleMouseUp(int, int,
 int, int) (widget.cpp:341)
 ==36687==    by 0x1020DB57E: GUI::Dialog::handleMouseUp(int, int, int,
 int) (dialog.cpp:212)
 ==36687==    by 0x1020EA7B0: GUI::GuiManager::processEvent(Common::Event
 const&, GUI::Dialog*) (gui-manager.cpp:553)
 ==36687==    by 0x1020E9FD9: GUI::GuiManager::runLoop() (gui-
 manager.cpp:334)
 ==36687==    by 0x1020DAF39: GUI::Dialog::runModal() (dialog.cpp:80)
 ==36687==    by 0x1020EFB59:
 GUI::LauncherDialog::handleCommand(GUI::CommandSender*, unsigned int,
 unsigned int) (launcher.cpp:642)
 ==36687==    by 0x1021C00DA: GUI::CommandSender::sendCommand(unsigned int,
 unsigned int) (object.h:55)
 ==36687==    by 0x102140E79: GUI::ButtonWidget::handleMouseUp(int, int,
 int, int) (widget.cpp:339)
 ==36687==    by 0x1020DB57E: GUI::Dialog::handleMouseUp(int, int, int,
 int) (dialog.cpp:212)
 ==36687==    by 0x1020EA7B0: GUI::GuiManager::processEvent(Common::Event
 const&, GUI::Dialog*) (gui-manager.cpp:553)
 ==36687==    by 0x1020E9FD9: GUI::GuiManager::runLoop() (gui-
 manager.cpp:334)
 ==36687==    by 0x1020DAF39: GUI::Dialog::runModal() (dialog.cpp:80)
 ==36687==  Address 0x10520af4d is 221 bytes inside a block of size 232
 free'd
 ==36687==    at 0x4D8D: free (vg_replace_malloc.c:477)
 ==36687==    by 0x102144E71: GUI::ButtonWidget::~ButtonWidget()
 (widget.h:197)
 ==36687==    by 0x1020F7A7F: GUI::OptionsDialog::clean() (options.cpp:426)
 ==36687==    by 0x102105C3E: GUI::GlobalOptionsDialog::clean()
 (options.cpp:1793)
 ==36687==    by 0x1020F7AD2: GUI::OptionsDialog::rebuild()
 (options.cpp:433)
 ==36687==    by 0x102106471: GUI::GlobalOptionsDialog::apply()
 (options.cpp:1854)
 ==36687==    by 0x1020FAED8:
 GUI::OptionsDialog::handleCommand(GUI::CommandSender*, unsigned int,
 unsigned int) (options.cpp:812)
 ==36687==    by 0x102107D93:
 GUI::GlobalOptionsDialog::handleCommand(GUI::CommandSender*, unsigned int,
 unsigned int) (options.cpp:2149)
 ==36687==    by 0x1021C00DA: GUI::CommandSender::sendCommand(unsigned int,
 unsigned int) (object.h:55)
 ==36687==    by 0x102140E79: GUI::ButtonWidget::handleMouseUp(int, int,
 int, int) (widget.cpp:339)
 ==36687==    by 0x1020DB57E: GUI::Dialog::handleMouseUp(int, int, int,
 int) (dialog.cpp:212)
 ==36687==    by 0x1020EA7B0: GUI::GuiManager::processEvent(Common::Event
 const&, GUI::Dialog*) (gui-manager.cpp:553)

--
Ticket URL: <https://bugs.scummvm.org/ticket/9711#comment:3>
ScummVM <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list