Revision 41dd893...

Go back to digest for 18th March 2012

Features in Accessibility

Peter Grasch committed changes in [simon] /:

Introducing additional "finalize" step for command plugins

If a plugin needs to perform cleanup that changes the scenario during
de-initalization it previously had to do that in the destructor as no
special method was available.
If the necessary cleanup required the scenario to be saved (serialized)
again, that lead to the problem that other command plugins of the same
scenario might have already been deleted. They would either not
serialize properly (resulting in a corupted / incomplete scenario) or
crash simon.
A separate finalize() method has now been implemented that can be
overwritten to provide a save way to do cleanup during de-
initialization.
Existing plugins were changed to take advantage of that where necessary
(AI and AT-SPI).

BUG: 296151

File Changes

Modified 8 files
  •   simonlib/simonscenarios/action.cpp
  •   simonlib/simonscenarios/action.h
  •   simonlib/simonscenarios/actionmodel.cpp
  •   simonlib/simonscenarios/commandmanager.h
  •   plugins/Commands/AI/aicommandmanager.cpp
  •   plugins/Commands/AI/aicommandmanager.h
  •   plugins/Commands/ATSPI/atspicommandmanager.cpp
  •   plugins/Commands/ATSPI/atspicommandmanager.h
8 files changed in total