ScreenSaverRunner: print errors to stderr instead of stdout.
Also print on a couple of new error cases: * print and error if fSaver is NULL, * print and error if unload_add_on failed.
This commit is contained in:
@@ -131,20 +131,23 @@ ScreenSaverRunner::_LoadAddOn()
|
|||||||
// instantiate_screen_saver()
|
// instantiate_screen_saver()
|
||||||
if (get_image_symbol(fAddonImage, "instantiate_screen_saver",
|
if (get_image_symbol(fAddonImage, "instantiate_screen_saver",
|
||||||
B_SYMBOL_TYPE_TEXT, (void **)&instantiate) != B_OK) {
|
B_SYMBOL_TYPE_TEXT, (void **)&instantiate) != B_OK) {
|
||||||
printf("Unable to find the instantiator\n");
|
fprintf(stderr, "Unable to find the instantiation function.\n");
|
||||||
} else {
|
} else {
|
||||||
BMessage state;
|
BMessage state;
|
||||||
fSettings.GetModuleState(fSettings.ModuleName(), &state);
|
fSettings.GetModuleState(fSettings.ModuleName(), &state);
|
||||||
fSaver = instantiate(&state, fAddonImage);
|
fSaver = instantiate(&state, fAddonImage);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fSaver->InitCheck() != B_OK) {
|
if (fSaver == NULL) {
|
||||||
printf("ScreenSaver initialization failed: %s!\n",
|
fprintf(stderr, "Screen saver initialization failed.\n");
|
||||||
|
_CleanUp();
|
||||||
|
} else if (fSaver->InitCheck() != B_OK) {
|
||||||
|
fprintf(stderr, "Screen saver initialization failed: %s.\n",
|
||||||
strerror(fSaver->InitCheck()));
|
strerror(fSaver->InitCheck()));
|
||||||
_CleanUp();
|
_CleanUp();
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
printf("Unable to open add-on %s.\n", path.Path());
|
fprintf(stderr, "Unable to open add-on %s.\n", path.Path());
|
||||||
|
|
||||||
Resume();
|
Resume();
|
||||||
}
|
}
|
||||||
@@ -157,7 +160,11 @@ ScreenSaverRunner::_CleanUp()
|
|||||||
fSaver = NULL;
|
fSaver = NULL;
|
||||||
|
|
||||||
if (fAddonImage >= 0) {
|
if (fAddonImage >= 0) {
|
||||||
unload_add_on(fAddonImage);
|
status_t result = unload_add_on(fAddonImage);
|
||||||
|
if (result != B_OK) {
|
||||||
|
fprintf(stderr, "Unable to unload screen saver add-on: %s.\n",
|
||||||
|
strerror(result));
|
||||||
|
}
|
||||||
fAddonImage = -1;
|
fAddonImage = -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user