summaryrefslogtreecommitdiff
path: root/src/gui/dialogs/storage.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/dialogs/storage.c')
-rw-r--r--src/gui/dialogs/storage.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/gui/dialogs/storage.c b/src/gui/dialogs/storage.c
index b66f0ab..60c0368 100644
--- a/src/gui/dialogs/storage.c
+++ b/src/gui/dialogs/storage.c
@@ -24,6 +24,11 @@
#include "storage.h"
+#include <malloc.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+
/* Colonnes de la liste des collections */
typedef enum _CollecFeatureColumn
@@ -68,7 +73,7 @@ GtkWidget *create_storage_dialog(GLoadedBinary *binary, GtkWindow *parent, GtkBu
GtkBuilder *builder; /* Constructeur utilisé */
GtkToggleButton *use_remote; /* Choix du serveur distant */
const char *host; /* Serveur distant à contacter */
- unsigned short port; /* Port d'écoute du serveur */
+ const char *port; /* Port d'écoute du serveur */
GObject *widget; /* Composant à mettre à jour */
GtkListStore *store; /* Modèle de gestion */
GDbCollection **collections; /* Ensemble de collections */
@@ -99,7 +104,7 @@ GtkWidget *create_storage_dialog(GLoadedBinary *binary, GtkWindow *parent, GtkBu
gtk_entry_set_text(GTK_ENTRY(widget), host);
widget = gtk_builder_get_object(builder, "port");
- gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget), port);
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget), atoi(port));
on_server_use_toggled(use_remote, builder);
@@ -271,7 +276,8 @@ void update_binary_storage(GtkBuilder *builder, GLoadedBinary *binary)
{
GObject *widget; /* Composant à mettre à jour */
const gchar *host; /* Serveur distant à contacter */
- gint port; /* Port d'écoute du serveur */
+ gint raw_port; /* Port d'écoute du serveur */
+ char *port; /* Port d'écoute du serveur */
GtkToggleButton *use_remote; /* Choix du serveur distant */
gboolean active; /* Etat du choix du distant */
GtkTreeModel *model; /* Modèle de gestion utilisé */
@@ -287,10 +293,14 @@ void update_binary_storage(GtkBuilder *builder, GLoadedBinary *binary)
host = gtk_entry_get_text(GTK_ENTRY(widget));
widget = gtk_builder_get_object(builder, "port");
- port = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget));
+ raw_port = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget));
+
+ asprintf(&port, "%d", raw_port);
g_loaded_binary_set_remote_server(binary, host, port);
+ free(port);
+
/* Choix final du serveur */
use_remote = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "use_remote"));