Split plugin classes and derive AIFilePicker from BasicPluginBase (part 4).
Add back fixes that were in Singularity (in indra/media_plugins) but not in imprudence. Also: Add "shutdown" plugin message and terminate file picker plugins cleanly. The DSO (libbasic_plugin_filepicker.so) now tells the child process / plugin loader (SLPlugin) to terminate (using the 'shutdown' message), and AIFilePicker::finish_impl destroys the plugin object on the viewer side when it's ... finished thus. Also added a large comment that gives an overview of all classes involved on the viewer side. Additional fixes for filepicker. Plugin refactor bug fix: mDeleteMe was uninitialized in AIPluginFilePicker.
This commit is contained in:
@@ -150,6 +150,10 @@ void FilepickerPlugin::receiveMessage(char const* message_string)
|
||||
message.setValue("plugin_version", plugin_version);
|
||||
sendMessage(message);
|
||||
}
|
||||
else if (message_name == "cleanup")
|
||||
{
|
||||
// We have no resources that need care. Just do nothing.
|
||||
}
|
||||
else if (message_name == "idle")
|
||||
{
|
||||
// This whole message should not have existed imho -- Aleric
|
||||
@@ -213,6 +217,8 @@ void FilepickerPlugin::receiveMessage(char const* message_string)
|
||||
message.setValueLLSD("filenames", filenames);
|
||||
sendMessage(message);
|
||||
}
|
||||
// We're done. Exit the whole application.
|
||||
sendShutdownMessage();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user