* If users_deferred_select is set then that user is selected.
*/
static void users_got_list(void attribute((unused)) *v,
- const char *error,
+ const char *err,
int nvec, char **vec) {
int n;
GtkTreeIter iter;
- if(error) {
- popup_protocol_error(0, error);
+ if(err) {
+ popup_protocol_error(0, err);
return;
}
/* Present users in alphabetical order */
/** @brief Called when a user setting has been edited */
static void users_edituser_completed(void attribute((unused)) *v,
- const char *error) {
- if(error)
- popup_submsg(users_window, GTK_MESSAGE_ERROR, error);
+ const char *err) {
+ if(err)
+ popup_submsg(users_window, GTK_MESSAGE_ERROR, err);
}
/** @brief Called when a new user has been created */
static void users_adduser_completed(void *v,
- const char *error) {
- if(error) {
- popup_submsg(users_window, GTK_MESSAGE_ERROR, error);
+ const char *err) {
+ if(err) {
+ popup_submsg(users_window, GTK_MESSAGE_ERROR, err);
mode(ADD); /* Let the user try again */
} else {
const struct kvp *const kvp = v;
/** @brief Called when a user has been deleted */
static void users_delete_completed(void *v,
- const char *error) {
- if(error)
- popup_submsg(users_window, GTK_MESSAGE_ERROR, error);
+ const char *err) {
+ if(err)
+ popup_submsg(users_window, GTK_MESSAGE_ERROR, err);
else {
const struct kvp *const kvp = v;
const char *const user = kvp_get(kvp, "user");
}
static void users_got_email(void attribute((unused)) *v,
- const char *error,
+ const char *err,
const char *value) {
- if(error)
- popup_protocol_error(0, error);
+ if(err)
+ popup_protocol_error(0, err);
users_email = value;
}
static void users_got_rights(void attribute((unused)) *v,
- const char *error,
+ const char *err,
const char *value) {
- if(error)
- popup_protocol_error(0, error);
+ if(err)
+ popup_protocol_error(0, err);
users_rights = value;
}
static void users_got_password(void attribute((unused)) *v,
- const char *error,
+ const char *err,
const char *value) {
- if(error)
- popup_protocol_error(0, error);
+ if(err)
+ popup_protocol_error(0, err);
/* TODO if an error occurred gathering user info, we should react in some
* different way */
users_password = value;
users_reporter = gtk_label_new("");
gtk_label_set_ellipsize(GTK_LABEL(users_reporter), PANGO_ELLIPSIZE_END);
gtk_misc_set_alignment(GTK_MISC(users_reporter), 0.99, 0);
+ g_signal_connect(users_reporter, "destroy",
+ G_CALLBACK(gtk_widget_destroyed), &users_reporter);
}
return users_reporter;
}
gtk_window_present(GTK_WINDOW(users_window));
return;
}
+ /* Destroy old widgets */
+ if(users_reporter)
+ gtk_widget_destroy(users_reporter);
/* Create the window */
users_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_set_style(users_window, tool_style);