if (is_on==TRUE)
return TRUE;
- return (*UDPGATE_STARTUP_GET_CLASS(udpgate_startup)->on)(udpgate_startup);
+ if (!(*UDPGATE_STARTUP_GET_CLASS(udpgate_startup)->on)(udpgate_startup))
+ return FALSE;
+ if (!udpgate_startup_query(udpgate_startup,&is_on))
+ return FALSE;
+ if (is_on!=TRUE) {
+ g_warning(_("Error registering automatic program startup!"));
+ return FALSE;
+ }
+ return TRUE;
}
gboolean udpgate_startup_off(UdpgateStartup *udpgate_startup)
if (is_on==FALSE)
return TRUE;
- return (*UDPGATE_STARTUP_GET_CLASS(udpgate_startup)->off)(udpgate_startup);
+ if (!(*UDPGATE_STARTUP_GET_CLASS(udpgate_startup)->off)(udpgate_startup))
+ return FALSE;
+ if (!udpgate_startup_query(udpgate_startup,&is_on))
+ return FALSE;
+ if (is_on!=FALSE) {
+ g_warning(_("Error removing program's system startup registrance!"));
+ return FALSE;
+ }
+ return TRUE;
}
UdpgateStartup *udpgate_startup_new(void)