diff --git a/gnome/configure.ac b/gnome/configure.ac
index d0425638cb9f7ae8bf46f0e8bc1c1e03beccb4f8..d53f4e7d03c8d4006c710cf93a6e3910666b6f98 100644
--- a/gnome/configure.ac
+++ b/gnome/configure.ac
@@ -9,14 +9,16 @@ AC_CONFIG_MACRO_DIR([m4])
 dnl Silent build by default. Use make V=1 to increase verbosity
 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
 
-CFLAGS="$CFLAGS -g -Wall -Wextra -Wshadow"
-
 AC_PROG_CC_C99
 AM_PROG_CC_C_O dnl for per target flags, i.e. test_program_CFLAGS
 AC_PROG_INSTALL
 AC_HEADER_STDC
 LT_INIT
 
+dnl Only need these for moving to gtk3
+MIGRATION_CFLAGS="-DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGTK_DISABLE_SINGLE_INCLUDES"
+CFLAGS="$CFLAGS -g -Wall -Wextra -Wshadow $MIGRATION_CFLAGS"
+
 dnl GCONF utilities
 AM_GCONF_SOURCE_2
 
@@ -35,12 +37,6 @@ PKG_CHECK_MODULES(GCONF, gconf-2.0)
 PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.24)
 PKG_CHECK_MODULES(WEBKIT, webkitgtk-3.0)
 
-# This macro is defined in check.m4 and tests if check.h and
-# libcheck.a are installed in your system. It sets CHECK_CFLAGS and
-# CHECK_LIBS accordingly.  
-#  AM_PATH_CHECK([MINIMUM-VERSION,
-#                [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
-dnl AM_PATH_CHECK() DEPRECATED
 PKG_CHECK_MODULES([CHECK], [check >= 0.9.4])
 
 AC_CONFIG_FILES([
diff --git a/gnome/src/actions.c b/gnome/src/actions.c
index 9ec2f92f46b1838c2fc283a6b79708307391ce73..a02a9fe0af88bfeb602c66ac2a935391365b6693 100644
--- a/gnome/src/actions.c
+++ b/gnome/src/actions.c
@@ -75,7 +75,8 @@ static gchar ** sflphone_order_history_hash_table(GHashTable *result)
     assert(result);
 
     while (g_hash_table_size(result)) {
-        gpointer key, key_to_min, value;
+        gpointer key, value;
+        gpointer key_to_min = NULL;
 
         // find lowest timestamp in map
         g_hash_table_iter_init(&iter, result);
diff --git a/gnome/src/config/accountconfigdialog.c b/gnome/src/config/accountconfigdialog.c
index 87d6fb9a91987525c2670dd91db56746e8ce7cc3..54a221e75b6896736ac4efd7753c452d9136aa74 100644
--- a/gnome/src/config/accountconfigdialog.c
+++ b/gnome/src/config/accountconfigdialog.c
@@ -231,12 +231,16 @@ static GtkWidget* create_basic_tab(account_t *currentAccount)
     GtkWidget *frame = gnome_main_section_new(_("Account Parameters"));
     gtk_widget_show(frame);
 
-    GtkWidget * table;
+    GtkWidget * table = NULL;
 
     if (g_strcmp0(curAccountType, "SIP") == 0)
         table = gtk_table_new(9, 2,  FALSE/* homogeneous */);
     else if (g_strcmp0(curAccountType, "IAX") == 0)
         table = gtk_table_new(8, 2, FALSE);
+    else {
+        ERROR("Unknown account type \"%s\"", curAccountType);
+        return NULL;
+    }
 
     gtk_table_set_row_spacings(GTK_TABLE(table), 10);
     gtk_table_set_col_spacings(GTK_TABLE(table), 10);
@@ -307,7 +311,7 @@ static GtkWidget* create_basic_tab(account_t *currentAccount)
 
     row++;
     label = gtk_label_new_with_mnemonic(_("_Password"));
-    gtk_table_attach(GTK_TABLE(table), label, 0, 1, row, row+1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
+    gtk_table_attach(GTK_TABLE(table), label, 0, 1, row, row + 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
     gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
     entryPassword = gtk_entry_new();
     gtk_entry_set_icon_from_stock(GTK_ENTRY(entryPassword), GTK_ENTRY_ICON_PRIMARY, GTK_STOCK_DIALOG_AUTHENTICATION);
@@ -707,7 +711,7 @@ GtkWidget* create_credential_widget(account_t *a)
     fill_treeview_with_credential(a);
 
     /* Credential Buttons */
-    GtkWidget *hbox = gtk_hbox_new(FALSE, 10);
+    GtkWidget *hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 10);
     gtk_table_attach_defaults(GTK_TABLE(table), hbox, 0, 3, 1, 2);
 
     addButton = gtk_button_new_from_stock(GTK_STOCK_ADD);
@@ -719,13 +723,7 @@ GtkWidget* create_credential_widget(account_t *a)
     gtk_box_pack_start(GTK_BOX(hbox), deleteCredButton, FALSE, FALSE, 0);
 
     /* Dynamically resize the window to fit the scrolled window */
-    GtkRequisition requisitionTable;
-    GtkRequisition requisitionTreeView;
-    gtk_widget_size_request(treeViewCredential, &requisitionTreeView);
-    gtk_widget_size_request(table, &requisitionTable);
     gtk_widget_set_size_request(scrolledWindowCredential, 400, 120);
-    // same_as_local_cb(sameAsLocalRadioButton, NULL);
-    // set_published_addr_manually_cb(publishedAddrRadioButton, NULL);
 
     return frame;
 }
@@ -814,7 +812,7 @@ GtkWidget * create_security_tab(account_t *a)
     GtkWidget * frame;
     GtkWidget * ret;
 
-    ret = gtk_vbox_new(FALSE, 10);
+    ret = gtk_box_new(GTK_ORIENTATION_VERTICAL, 10);
     gtk_container_set_border_width(GTK_CONTAINER(ret), 10);
 
     // Credentials frame
@@ -1032,7 +1030,7 @@ GtkWidget* create_advanced_tab(account_t *a)
 
     GtkWidget *vbox, *frame;
 
-    vbox = gtk_vbox_new(FALSE, 10);
+    vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 10);
     gtk_container_set_border_width(GTK_CONTAINER(vbox), 10);
 
     frame = create_registration_expire(a);
@@ -1062,7 +1060,7 @@ void ringtone_enabled(GtkWidget *widget UNUSED, gpointer data, const gchar *acco
 
 static GtkWidget* create_audiocodecs_configuration(account_t *currentAccount)
 {
-    GtkWidget *vbox = gtk_vbox_new(FALSE, 10);
+    GtkWidget *vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 10);
     gtk_container_set_border_width(GTK_CONTAINER(vbox), 10);
 
     GtkWidget *box = audiocodecs_box(currentAccount);
@@ -1140,7 +1138,7 @@ static GtkWidget* create_audiocodecs_configuration(account_t *currentAccount)
 
 GtkWidget* create_direct_ip_calls_tab(account_t *a)
 {
-    GtkWidget *vbox = gtk_vbox_new(FALSE, 10);
+    GtkWidget *vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 10);
     gtk_container_set_border_width(GTK_CONTAINER(vbox), 10);
 
     gchar *description = g_markup_printf_escaped(_("This profile is used when "
@@ -1153,8 +1151,6 @@ GtkWidget* create_direct_ip_calls_tab(account_t *a)
     gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
     gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
 
-    GtkRequisition requisition;
-    gtk_widget_size_request(vbox, &requisition);
     gtk_widget_set_size_request(label, 350, -1);
     gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
 
diff --git a/gnome/src/config/accountlistconfigdialog.c b/gnome/src/config/accountlistconfigdialog.c
index 06a04e7c6af39008d61dbbf34552cc2768e02156..a765c37f9051efca6d15b1f2b5bdecafe22ac0f1 100644
--- a/gnome/src/config/accountlistconfigdialog.c
+++ b/gnome/src/config/accountlistconfigdialog.c
@@ -514,7 +514,7 @@ GtkWidget* create_account_list(GtkDialog * dialog UNUSED)
     gtk_container_add(GTK_CONTAINER(scrolledWindow), GTK_WIDGET(treeView));
 
     /* The buttons to press! */
-    buttonBox = gtk_vbutton_box_new();
+    buttonBox = gtk_button_box_new(GTK_ORIENTATION_VERTICAL);
     gtk_box_set_spacing(GTK_BOX(buttonBox), 10);
     gtk_button_box_set_layout(GTK_BUTTON_BOX(buttonBox), GTK_BUTTONBOX_START);
     gtk_table_attach(GTK_TABLE(table), buttonBox, 1, 2, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
@@ -547,7 +547,7 @@ GtkWidget* create_account_list(GtkDialog * dialog UNUSED)
     gtk_box_pack_start(GTK_BOX(buttonBox), deleteButton, FALSE, FALSE, 0);
 
     /* help and close buttons */
-    GtkWidget * buttonHbox = gtk_hbutton_box_new();
+    GtkWidget * buttonHbox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL);
     gtk_table_attach(GTK_TABLE(table), buttonHbox, 0, 2, 1, 2, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 10);
 
     GtkWidget * helpButton = gtk_button_new_from_stock(GTK_STOCK_HELP);
@@ -563,10 +563,10 @@ GtkWidget* create_account_list(GtkDialog * dialog UNUSED)
     // account_list_config_dialog_fill();
 
     /* Resize the scrolledWindow for a better view */
-    gtk_widget_size_request(GTK_WIDGET(treeView), &requisition);
+    gtk_widget_get_preferred_size(GTK_WIDGET(treeView), NULL, &requisition);
     gtk_widget_set_size_request(GTK_WIDGET(scrolledWindow), requisition.width + 20, requisition.height);
     GtkRequisition requisitionButton;
-    gtk_widget_size_request(GTK_WIDGET(deleteButton), &requisitionButton);
+    gtk_widget_get_preferred_size(GTK_WIDGET(deleteButton), NULL, &requisitionButton);
     gtk_widget_set_size_request(GTK_WIDGET(closeButton), requisitionButton.width, -1);
     gtk_widget_set_size_request(GTK_WIDGET(helpButton), requisitionButton.width, -1);
 
diff --git a/gnome/src/config/addressbook-config.c b/gnome/src/config/addressbook-config.c
index 9abbd3cc6b113ce0613df2c1f60c7057a7386578..4c56da203677369e5e7f14d7d8c4be75d7b89b60 100644
--- a/gnome/src/config/addressbook-config.c
+++ b/gnome/src/config/addressbook-config.c
@@ -324,7 +324,7 @@ addressbook_config_fill_book_list()
 GtkWidget*
 create_addressbook_settings()
 {
-    GtkWidget *ret, *result_frame, *table, *value, *item;
+    GtkWidget *result_frame, *table, *value, *item;
 
     GtkListStore *store;
     GtkCellRenderer *renderer;
@@ -333,7 +333,7 @@ create_addressbook_settings()
     // Load the user value
     addressbook_config = addressbook_config_load_parameters();
 
-    ret = gtk_vbox_new(FALSE, 10);
+    GtkWidget *ret = gtk_box_new(GTK_ORIENTATION_VERTICAL, 10);
     gtk_container_set_border_width(GTK_CONTAINER(ret), 10);
 
     gnome_main_section_new_with_table(_("General"), &result_frame, &table, 3, 3);
@@ -346,7 +346,7 @@ create_addressbook_settings()
     gtk_table_attach(GTK_TABLE(table), item, 1, 3, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
 
     // SCALE BUTTON - NUMBER OF RESULTS
-    scale_button = gtk_hbox_new(FALSE, 0);
+    scale_button = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
     scale_label = gtk_label_new(_("Download limit :"));
     gtk_box_pack_start(GTK_BOX(scale_button),scale_label,FALSE,FALSE,0);
     value = gtk_spin_button_new_with_range(1, G_MAXINT, 1);
diff --git a/gnome/src/config/assistant.c b/gnome/src/config/assistant.c
index d3755dbe2199f1c5faae9cec2dc53f286c9a59de..8ca002115543ba01327688b250497f8344797bff 100644
--- a/gnome/src/config/assistant.c
+++ b/gnome/src/config/assistant.c
@@ -639,7 +639,7 @@ static GtkWidget* create_vbox(GtkAssistantPageType type, const gchar *title, con
     GtkWidget *label;
     gchar *str;
 
-    vbox = gtk_vbox_new(FALSE, 6);
+    vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 6);
     gtk_container_set_border_width(GTK_CONTAINER(vbox), 24);
 
     gtk_assistant_append_page(GTK_ASSISTANT(wiz->assistant), vbox);
@@ -651,9 +651,13 @@ static GtkWidget* create_vbox(GtkAssistantPageType type, const gchar *title, con
 
     gtk_assistant_set_page_complete(GTK_ASSISTANT(wiz->assistant), vbox, TRUE);
 
+#if 0
+    /* FIXME */
+    http://developer.gnome.org/gtk3/stable/GtkAssistant.html#gtk-assistant-set-page-header-image
     wiz->logo = gdk_pixbuf_new_from_file(LOGO, NULL);
     gtk_assistant_set_page_header_image(GTK_ASSISTANT(wiz->assistant),vbox, wiz->logo);
     g_object_unref(wiz->logo);
+#endif
 
     if (section) {
         label = gtk_label_new(NULL);
diff --git a/gnome/src/config/audioconf.c b/gnome/src/config/audioconf.c
index 9fe1a769825d9bafc209b0a9e466f86e8ae86aff..e22cea77efa3c115f6b29fa71de46e8c11a25dac 100644
--- a/gnome/src/config/audioconf.c
+++ b/gnome/src/config/audioconf.c
@@ -513,7 +513,7 @@ static void codec_move_down(GtkButton *button UNUSED, gpointer data)
 
 GtkWidget* audiocodecs_box(account_t *a)
 {
-    GtkWidget *audiocodecs_hbox = gtk_hbox_new(FALSE, 10);
+    GtkWidget *audiocodecs_hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 10);
     gtk_container_set_border_width(GTK_CONTAINER(audiocodecs_hbox), 10);
 
     GtkWidget *scrolledWindow = gtk_scrolled_window_new(NULL, NULL);
@@ -563,7 +563,7 @@ GtkWidget* audiocodecs_box(account_t *a)
     gtk_container_add(GTK_CONTAINER(scrolledWindow), codecTreeView);
 
     // Create button box
-    GtkWidget *buttonBox = gtk_vbox_new(FALSE, 0);
+    GtkWidget *buttonBox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
     gtk_container_set_border_width(GTK_CONTAINER(buttonBox), 10);
     gtk_box_pack_start(GTK_BOX(audiocodecs_hbox), buttonBox, FALSE, FALSE, 0);
 
@@ -653,7 +653,7 @@ active_is_always_recording(void)
 
 GtkWidget* alsa_box()
 {
-    GtkWidget *alsa_hbox = gtk_hbox_new(FALSE, 10);
+    GtkWidget *alsa_hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 10);
     gtk_widget_show(alsa_hbox);
 
     GtkWidget *table = gtk_table_new(6, 3, FALSE);
@@ -767,7 +767,7 @@ static void record_path_changed(GtkFileChooser *chooser , GtkLabel *label UNUSED
 GtkWidget* create_audio_configuration()
 {
     /* Main widget */
-    GtkWidget *audio_vbox = gtk_vbox_new(FALSE, 10);
+    GtkWidget *audio_vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 10);
     gtk_container_set_border_width(GTK_CONTAINER(audio_vbox), 10);
 
     GtkWidget *frame;
diff --git a/gnome/src/config/hooks-config.c b/gnome/src/config/hooks-config.c
index d7b8b513a296d3c7cce3637ecc4d4e2c3ebe2967..2b3e9e882cb9c9cb7de77567699b5008eb764aa4 100644
--- a/gnome/src/config/hooks-config.c
+++ b/gnome/src/config/hooks-config.c
@@ -143,7 +143,7 @@ GtkWidget* create_hooks_settings()
     // Load the user value
     hooks_load_parameters(&_urlhook_config);
 
-    ret = gtk_vbox_new(FALSE, 10);
+    ret = gtk_box_new(GTK_ORIENTATION_VERTICAL, 10);
     gtk_container_set_border_width(GTK_CONTAINER(ret), 10);
 
     gnome_main_section_new_with_table(_("URL Argument"), &frame, &table, 5, 2);
diff --git a/gnome/src/config/preferencesdialog.c b/gnome/src/config/preferencesdialog.c
index 16f46bac0878beadd6ffb488a7b5c4bf69c6fb5a..8a38ed761a3e81bc63534cbcfd9224782dceb3e5 100644
--- a/gnome/src/config/preferencesdialog.c
+++ b/gnome/src/config/preferencesdialog.c
@@ -162,7 +162,7 @@ create_general_settings()
     instant_messaging_load_configuration();
 
     // Main widget
-    ret = gtk_vbox_new(FALSE, 10);
+    ret = gtk_box_new(GTK_ORIENTATION_VERTICAL, 10);
     gtk_container_set_border_width(GTK_CONTAINER(ret), 10);
 
     // Notifications Frame
@@ -326,7 +326,7 @@ static GdkPixbuf *get_icon(const gchar *name, GtkWidget *widget)
     GtkIconTheme *theme = gtk_icon_theme_get_default();
     GdkPixbuf *pixbuf = gtk_icon_theme_load_icon(theme, name, 48, 0, NULL);
     if (!pixbuf)
-        pixbuf = gtk_widget_render_icon(widget, name, GTK_ICON_SIZE_DIALOG, NULL);
+        pixbuf = gtk_widget_render_icon_pixbuf(widget, name, GTK_ICON_SIZE_DIALOG);
 
     return pixbuf;
 }
@@ -385,7 +385,7 @@ show_preferences_dialog()
     gtk_window_set_default_size(GTK_WINDOW(dialog), 600, 400);
     gtk_container_set_border_width(GTK_CONTAINER(dialog), 0);
 
-    GtkWidget *hbox = gtk_hbox_new(FALSE, 10);
+    GtkWidget *hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 10);
 
     // Create tree view
     iconview = gtk_icon_view_new_with_model(create_model(hbox));
diff --git a/gnome/src/config/shortcuts-config.c b/gnome/src/config/shortcuts-config.c
index 450ada7d2315745325b1715029a89d39a94fd9f5..caa354a22c2030d920c88ed846d61bc9a321ff08 100644
--- a/gnome/src/config/shortcuts-config.c
+++ b/gnome/src/config/shortcuts-config.c
@@ -109,7 +109,7 @@ setup_tree_view(GtkWidget *treeview)
 GtkWidget*
 create_shortcuts_settings()
 {
-    GtkWidget *vbox = gtk_vbox_new(FALSE, 10);
+    GtkWidget *vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 10);
     gtk_container_set_border_width(GTK_CONTAINER(vbox), 10);
 
     GtkWidget * result_frame = gnome_main_section_new(_("General"));
diff --git a/gnome/src/config/tlsadvanceddialog.c b/gnome/src/config/tlsadvanceddialog.c
index 5fc6852507b5912c0eae4c255136a25c47c860b3..3d6c11860099d0647afb3b88f35b97dc07e37d99 100644
--- a/gnome/src/config/tlsadvanceddialog.c
+++ b/gnome/src/config/tlsadvanceddialog.c
@@ -50,7 +50,7 @@ void show_advanced_tls_options(GHashTable * properties)
     gtk_window_set_resizable(GTK_WINDOW(tlsDialog), FALSE);
     gtk_container_set_border_width(GTK_CONTAINER(tlsDialog), 0);
 
-    GtkWidget *ret = gtk_vbox_new(FALSE, 10);
+    GtkWidget *ret = gtk_box_new(GTK_ORIENTATION_VERTICAL, 10);
     gtk_container_set_border_width(GTK_CONTAINER(ret), 10);
     gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(tlsDialog)), ret, FALSE, FALSE, 0);
 
@@ -109,7 +109,7 @@ void show_advanced_tls_options(GHashTable * properties)
     label = gtk_label_new(_("Global TLS listener (all accounts)"));
     gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
     gtk_table_attach(GTK_TABLE(table), label, 0, 1, 2, 3, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
-    GtkWidget * hbox = gtk_hbox_new(FALSE, 10);
+    GtkWidget * hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 10);
     gtk_table_attach(GTK_TABLE(table), hbox, 1, 2, 2, 3, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
     GtkWidget *tlsListenerPort = gtk_spin_button_new_with_range(0, 65535, 1);
     gtk_label_set_mnemonic_widget(GTK_LABEL(label), tlsListenerPort);
@@ -235,7 +235,7 @@ void show_advanced_tls_options(GHashTable * properties)
     gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
     gtk_table_attach(GTK_TABLE(table), label, 0, 1, 10, 11, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
     GtkWidget * tlsTimeOutSec;
-    hbox = gtk_hbox_new(FALSE, 10);
+    hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 10);
     gtk_table_attach(GTK_TABLE(table), hbox, 1, 2, 10, 11, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
     tlsTimeOutSec = gtk_spin_button_new_with_range(0, pow(2,sizeof(long)), 1);
     gtk_label_set_mnemonic_widget(GTK_LABEL(label), tlsTimeOutSec);
diff --git a/gnome/src/contacts/calltree.c b/gnome/src/contacts/calltree.c
index 621736dec5d371fad5973d2c16caf072c1165f7a..2e70bc5e929f1f9ac609cb3f26abc69403c8e93d 100644
--- a/gnome/src/contacts/calltree.c
+++ b/gnome/src/contacts/calltree.c
@@ -397,7 +397,7 @@ calltree_display_call_info(callable_obj_t * c, CallDisplayType display_type, con
 void
 calltree_create(calltab_t* tab, int searchbar_type)
 {
-    tab->tree = gtk_vbox_new(FALSE, 10);
+    tab->tree = gtk_box_new(GTK_ORIENTATION_VERTICAL, 10);
 
     // Fix bug #708 (resize)
     gtk_widget_set_size_request(tab->tree,100,80);
diff --git a/gnome/src/contacts/searchbar.c b/gnome/src/contacts/searchbar.c
index 2ef065ee5811d1295663d53eb945f19f1b135a4c..ec8a7ac42b13ae22dd1bcdd0d316b011693adc92 100644
--- a/gnome/src/contacts/searchbar.c
+++ b/gnome/src/contacts/searchbar.c
@@ -71,12 +71,28 @@ void searchbar_entry_changed(GtkEntry* entry UNUSED, gchar* arg1 UNUSED, gpointe
         history_search();
 }
 
+static gchar *get_combobox_active_text(GtkWidget *widget)
+{
+    GtkTreeIter iter;
+    gtk_combo_box_get_active_iter(GTK_COMBO_BOX(widget), &iter);
+    GtkTreeModel *model = gtk_combo_box_get_model(GTK_COMBO_BOX(widget));
+    gchar *string = NULL;
+    /* this will return a strdup'd string of the text for the active
+     * entry, which must be freed */
+    gtk_tree_model_get(model, &iter, 0, &string, -1);
+    return string;
+}
+
 static void cbox_changed_cb(GtkWidget *widget, gpointer user_data UNUSED)
 {
     if (!addrbook)
         return;
 
-    addrbook->set_current_book(gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(widget)));
+    gchar *string = get_combobox_active_text(widget);
+    if (string) {
+        addrbook->set_current_book(string);
+        g_free(string);
+    }
     AddressBook_Config *addressbook_config = addressbook_config_load_parameters();
     addrbook->search(addrbook->search_cb, GTK_ENTRY(addressbookentry), addressbook_config);
 }
@@ -107,7 +123,7 @@ void update_searchbar_addressbook_list()
     g_signal_handler_disconnect(cbox, cboxSignalId);
 
     // store the current active text
-    gchar *activeText = g_strdup(gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(cbox)));
+    gchar *activeText = get_combobox_active_text(cbox);
 
     if (activeText == NULL)
         activeText = g_strdup("");
@@ -140,7 +156,7 @@ void update_searchbar_addressbook_list()
             addrbook->set_current_book(activeText);
         } else {
             gtk_combo_box_set_active(GTK_COMBO_BOX(cbox), 0);
-            addrbook->set_current_book(gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(cbox)));
+            addrbook->set_current_book(get_combobox_active_text(cbox));
         }
     }
 
@@ -275,9 +291,7 @@ GtkWidget *addressbook_menu_new(void)
 
 GtkWidget* history_searchbar_new(void)
 {
-    GtkWidget *ret, *item, *image;
-
-    ret = gtk_hbox_new(FALSE, 0);
+    GtkWidget *ret = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
 
     searchbox = gtk_entry_new();
     gtk_entry_set_icon_from_stock(GTK_ENTRY(searchbox), GTK_ENTRY_ICON_SECONDARY, GTK_STOCK_CLEAR);
@@ -300,8 +314,8 @@ GtkWidget* history_searchbar_new(void)
     menu = gtk_menu_new();
     gtk_menu_attach_to_widget(GTK_MENU(menu), searchbox, NULL);
 
-    image = gtk_image_new_from_stock(GTK_STOCK_FIND, GTK_ICON_SIZE_MENU);
-    item = gtk_image_menu_item_new_with_label("Search all");
+    GtkWidget *image = gtk_image_new_from_stock(GTK_STOCK_FIND, GTK_ICON_SIZE_MENU);
+    GtkWidget *item = gtk_image_menu_item_new_with_label("Search all");
     gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
     g_signal_connect(item, "activate", G_CALLBACK(search_all), searchbox);
     gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
@@ -340,17 +354,10 @@ GtkWidget* history_searchbar_new(void)
 
 GtkWidget* contacts_searchbar_new()
 {
-    GtkWidget *ret;
-    GtkWidget *align;
-    int count;
     GtkTreeIter iter, activeIter;
     GtkCellRenderer *cell;
-    gchar **book_list;
-    // gchar *current_addressbook = NULL;
-
-    DEBUG("Addressbook: Create addressbook search bar");
 
-    ret = gtk_hbox_new(FALSE, 0);
+    GtkWidget *ret = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
 
     liststore = gtk_list_store_new(1,G_TYPE_STRING);
 
@@ -358,7 +365,7 @@ GtkWidget* contacts_searchbar_new()
     if (!addrbook)
         return NULL;
 
-    book_list = dbus_get_addressbook_list();
+    gchar **book_list = dbus_get_addressbook_list();
 
     addrbook->init(book_list);
 
@@ -367,7 +374,7 @@ GtkWidget* contacts_searchbar_new()
     GSList *books_data = addrbook->get_books_data(book_list);
 
     // Populate menu
-    count = 0;
+    int count = 0;
     gboolean activeIsSet = FALSE;
 
     for (book_list_iterator = books_data; book_list_iterator != NULL;
@@ -391,8 +398,6 @@ GtkWidget* contacts_searchbar_new()
         }
     }
 
-    // current_addressbook = get_current_addressbook();
-
     cbox = gtk_combo_box_new_with_model((GtkTreeModel *) liststore);
 
     if (activeIsSet)
@@ -400,7 +405,7 @@ GtkWidget* contacts_searchbar_new()
     else
         gtk_combo_box_set_active(GTK_COMBO_BOX(cbox), 0);
 
-    align = gtk_alignment_new(0.0, 0.0, 1.0, 1.0);
+    GtkWidget *align = gtk_alignment_new(0.0, 0.0, 1.0, 1.0);
     gtk_alignment_set_padding(GTK_ALIGNMENT(align), 0, 2, 6, 6);
     gtk_container_add(GTK_CONTAINER(align), cbox);
 
diff --git a/gnome/src/imwindow.c b/gnome/src/imwindow.c
index cc37883111ccf3ca24b4ce848f1c028f35d91ffe..9b170a22c7a8bb87eaa9fc992f356a9680b01dc2 100644
--- a/gnome/src/imwindow.c
+++ b/gnome/src/imwindow.c
@@ -123,11 +123,11 @@ im_window_init()
 
     gtk_widget_set_name(im_window, "imwindow");
 
-    GtkWidget *im_vbox = gtk_vbox_new(FALSE /*homogeneous*/, 0 /*spacing*/);
+    GtkWidget *im_box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0 /*spacing*/);
     im_notebook = gtk_notebook_new();
 
-    gtk_container_add(GTK_CONTAINER(im_window), im_vbox);
-    gtk_box_pack_start(GTK_BOX(im_vbox), im_notebook, TRUE, TRUE, 0);
+    gtk_container_add(GTK_CONTAINER(im_window), im_box);
+    gtk_box_pack_start(GTK_BOX(im_box), im_notebook, TRUE, TRUE, 0);
     gtk_widget_show(im_notebook);
 
     g_signal_connect(G_OBJECT(im_window), "delete-event", G_CALLBACK(on_delete), NULL);
@@ -201,37 +201,37 @@ im_window_add_tab(IMWidget *im)
     conference_obj_t *im_widget_conf = conferencelist_get(current_calls_tab, im->call_id);
 
     /* A container to include the tab label and the close button */
-    GtkWidget *tab_Container = gtk_hbox_new(FALSE, 3);
-    GtkWidget *tab_Label;
-    im->tab = tab_Container;
+    GtkWidget *tab_container = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 3);
+    GtkWidget *tab_label;
+    im->tab = tab_container;
 
     if (im_widget_call)
-        tab_Label = gtk_label_new(*im_widget_call->_peer_name ? im_widget_call->_peer_name : im_widget_call->_peer_number);
+        tab_label = gtk_label_new(*im_widget_call->_peer_name ? im_widget_call->_peer_name : im_widget_call->_peer_number);
     else if (im_widget_conf)
-        tab_Label = gtk_label_new("Conferencing");
+        tab_label = gtk_label_new("Conferencing");
     else
-        tab_Label = gtk_label_new("");
+        tab_label = gtk_label_new("");
 
-    GtkWidget *tab_CloseButton = gtk_button_new();
+    GtkWidget *tab_close_button = gtk_button_new();
 
     /* Pack it all */
-    gtk_button_set_relief(GTK_BUTTON(tab_CloseButton), GTK_RELIEF_NONE);
-    gtk_box_pack_start(GTK_BOX(tab_Container), tab_Label, TRUE, TRUE, 0);
-    gtk_box_pack_start(GTK_BOX(tab_Container), tab_CloseButton, FALSE, FALSE, 0);
-    gtk_container_add(GTK_CONTAINER(tab_CloseButton), gtk_image_new_from_stock(GTK_STOCK_CLOSE, GTK_ICON_SIZE_MENU));
+    gtk_button_set_relief(GTK_BUTTON(tab_close_button), GTK_RELIEF_NONE);
+    gtk_box_pack_start(GTK_BOX(tab_container), tab_label, TRUE, TRUE, 0);
+    gtk_box_pack_start(GTK_BOX(tab_container), tab_close_button, FALSE, FALSE, 0);
+    gtk_container_add(GTK_CONTAINER(tab_close_button), gtk_image_new_from_stock(GTK_STOCK_CLOSE, GTK_ICON_SIZE_MENU));
 
     /* Connect a signal to the close button on each tab, to be able to close the tabs individually */
-    g_signal_connect(tab_CloseButton, "clicked", G_CALLBACK(close_tab_cb), im);
+    g_signal_connect(tab_close_button, "clicked", G_CALLBACK(close_tab_cb), im);
 
     /* Show it */
     gtk_widget_show_all(im_notebook);
-    gtk_widget_show_all(tab_Container);
+    gtk_widget_show_all(tab_container);
 
     /* Add the page to the notebook */
-    guint tabIndex = gtk_notebook_append_page(GTK_NOTEBOOK(im_notebook), GTK_WIDGET(im), tab_Container);
+    guint tab_index = gtk_notebook_append_page(GTK_NOTEBOOK(im_notebook), GTK_WIDGET(im), tab_container);
 
     /* TODO Switch to the newly opened tab. Still not working */
-    DEBUG("InstantMessaging: Switch to tab: %i", tabIndex);
+    DEBUG("InstantMessaging: Switch to tab: %i", tab_index);
     gtk_notebook_set_current_page(GTK_NOTEBOOK(im_notebook), -1);
 
     /* Decide whether or not displaying the tabs of the notebook */
diff --git a/gnome/src/mainwindow.c b/gnome/src/mainwindow.c
index 91d2bcd537ecfd3dff5ef540e0d7d3b64ae254c7..919613b9884ce9bcd442f35ce2a43ed112b5de71 100644
--- a/gnome/src/mainwindow.c
+++ b/gnome/src/mainwindow.c
@@ -221,8 +221,8 @@ create_main_window()
     gtk_window_add_accel_group(GTK_WINDOW(window),
                                gtk_ui_manager_get_accel_group(ui_manager));
 
-    vbox = gtk_vbox_new(FALSE /*homogeneous*/, 0 /*spacing*/);
-    subvbox = gtk_vbox_new(FALSE /*homogeneous*/, 5 /*spacing*/);
+    vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0 /*spacing*/);
+    subvbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5 /*spacing*/);
 
     GtkWidget *widget = create_menus(ui_manager);
     gtk_box_pack_start(GTK_BOX(vbox), widget, FALSE /*expand*/, TRUE /*fill*/,
diff --git a/gnome/src/sliders.c b/gnome/src/sliders.c
index 16cfd8cdd7d7aa5a3249683eeda92e91737bae36..34064901e33143d16aa50653ae7d29e91fdeb3fc 100644
--- a/gnome/src/sliders.c
+++ b/gnome/src/sliders.c
@@ -166,7 +166,7 @@ create_slider(const gchar * device)
         g_object_ref(images[MIKE][VOL75]);
     }
 
-    ret = gtk_hbox_new(FALSE /*homogeneous*/, 5 /*spacing*/);
+    ret = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5 /*spacing*/);
     gtk_container_set_border_width(GTK_CONTAINER(ret), 5);
 
     gtk_widget_set_tooltip_text(GTK_WIDGET(ret),
@@ -177,7 +177,7 @@ create_slider(const gchar * device)
     toggledConnId[dev] = g_signal_connect(G_OBJECT(button[dev]), "toggled",
                                           G_CALLBACK(mute_cb), (gpointer) device);
 
-    slider[dev] = gtk_hscale_new_with_range(0, 1, 0.05);
+    slider[dev] = gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL, 0, 1, 0.05);
     gtk_scale_set_draw_value(GTK_SCALE(slider[dev]), FALSE);
     //gtk_range_set_update_policy(GTK_RANGE(slider), GTK_UPDATE_DELAYED);
     movedConnId[dev] = g_signal_connect(G_OBJECT(slider[dev]), "value_changed",
diff --git a/gnome/src/uimanager.c b/gnome/src/uimanager.c
index e3284b343a1decaca1af2956712978eb0540a3e9..cdf3801e2024c8c77ef28fd84ff3e5524096d9e6 100644
--- a/gnome/src/uimanager.c
+++ b/gnome/src/uimanager.c
@@ -1057,9 +1057,9 @@ GtkUIManager *uimanager_new(void)
     guint manager_id;
     GError *error = NULL;
 
-    if (g_file_test(path, G_FILE_TEST_EXISTS)) {
+    if (g_file_test(path, G_FILE_TEST_EXISTS))
         manager_id = gtk_ui_manager_add_ui_from_file(ui_manager, path, &error);
-    } else {
+    else {
         g_free(path);
         path = g_build_filename(SFLPHONE_UIDIR, "./ui.xml", NULL);
 
@@ -1237,14 +1237,12 @@ show_popup_menu(GtkWidget *my_widget, GdkEventButton *event)
                     break;
             }
         }
-
     }
 
     GtkWidget *menu = gtk_menu_new();
 
     if (calltab_get_selected_type(current_calls_tab) == A_CALL) {
         DEBUG("UIManager: Build call menu");
-
         if (copy) {
             GtkWidget *menu_items = gtk_image_menu_item_new_from_stock(GTK_STOCK_COPY,
                                     get_accel_group());
@@ -1487,7 +1485,7 @@ show_edit_number(callable_obj_t *call)
 
     g_signal_connect(G_OBJECT(edit_dialog_), "delete-event", G_CALLBACK(on_delete), NULL);
 
-    GtkWidget *hbox = gtk_hbox_new(FALSE, 0);
+    GtkWidget *hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
     gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(edit_dialog_))), hbox, TRUE, TRUE, 0);
 
     // Set the number to be edited
@@ -1527,7 +1525,8 @@ create_waiting_icon()
                                       gtk_image_new_from_animation(gdk_pixbuf_animation_new_from_file(
                                               ICONS_DIR "/wait-on.gif", NULL)));
 
-    gtk_menu_item_set_right_justified(GTK_MENU_ITEM(waiting_icon), TRUE);
+    /* Deprecated:
+     * gtk_menu_item_set_right_justified(GTK_MENU_ITEM(waiting_icon), TRUE); */
 
     return waiting_icon;
 }
diff --git a/gnome/src/widget/imwidget.c b/gnome/src/widget/imwidget.c
index ce39d006f1825863d08bc7ba3233957d91a6244a..adb83b4473d9da8a702b4cb18347029ff1a5f96c 100644
--- a/gnome/src/widget/imwidget.c
+++ b/gnome/src/widget/imwidget.c
@@ -238,7 +238,7 @@ im_widget_init(IMWidget *im)
     im->info_bar = gtk_info_bar_new();
 
     /* A bar with the entry text and the button to send the message */
-    GtkWidget *hbox = gtk_hbox_new(FALSE, 10);
+    GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 10);
     gtk_text_view_set_editable(GTK_TEXT_VIEW(im->textarea), TRUE);
     gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(textscrollwin), GTK_POLICY_NEVER, GTK_POLICY_NEVER);
     gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(webscrollwin), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
@@ -249,10 +249,10 @@ im_widget_init(IMWidget *im)
 
     gtk_container_add(GTK_CONTAINER(textscrollwin), im->textarea);
     gtk_container_add(GTK_CONTAINER(webscrollwin), im->web_view);
-    gtk_container_add(GTK_CONTAINER(hbox), textscrollwin);
+    gtk_container_add(GTK_CONTAINER(box), textscrollwin);
     gtk_box_pack_start(GTK_BOX(im), im->info_bar, FALSE, FALSE, 2);
     gtk_box_pack_start(GTK_BOX(im), webscrollwin, TRUE, TRUE, 5);
-    gtk_box_pack_end(GTK_BOX(im), hbox, FALSE, FALSE, 2);
+    gtk_box_pack_end(GTK_BOX(im), box, FALSE, FALSE, 2);
     g_signal_connect(im->web_view, "navigation-policy-decision-requested", G_CALLBACK(web_view_nav_requested_cb), NULL);
     g_signal_connect(im->textarea, "key-press-event", G_CALLBACK(on_Textview_changed), im);
 
@@ -264,6 +264,11 @@ im_widget_init(IMWidget *im)
     im->containText = FALSE;
 
     g_signal_connect(G_OBJECT(im->web_frame), "notify", G_CALLBACK(on_frame_loading_done), im);
+    /* See
+     * http://developer.gnome.org/gtk3/stable/GtkVBox.html#GtkVBox.description
+     */
+    gtk_orientable_set_orientation (GTK_ORIENTABLE (im),
+                                    GTK_ORIENTATION_VERTICAL);
 }
 
 GType
@@ -286,7 +291,7 @@ im_widget_get_type(void)
         };
 
         im_widget_type = g_type_register_static(
-                             GTK_TYPE_VBOX,
+                             GTK_TYPE_BOX,
                              "IMWidget",
                              &im_widget_info,
                              0);
diff --git a/gnome/src/widget/imwidget.h b/gnome/src/widget/imwidget.h
index b84af425a22c3834576b5784b0b1354344766721..02226cbc7a511cf5761ff54d1279bf0ea4f559c5 100644
--- a/gnome/src/widget/imwidget.h
+++ b/gnome/src/widget/imwidget.h
@@ -53,7 +53,7 @@ typedef struct _IMWidget      IMWidget;
 typedef struct _IMWidgetClass IMWidgetClass;
 
 struct _IMWidget {
-    GtkVBox parent_instance;
+    GtkBox parent_instance;
 
     /* Private */
     GtkWidget *tab;
@@ -71,7 +71,7 @@ struct _IMWidget {
 };
 
 struct _IMWidgetClass {
-    GtkVBoxClass parent_class;
+    GtkBoxClass parent_class;
 };
 
 
diff --git a/gnome/src/widget/minidialog.c b/gnome/src/widget/minidialog.c
index 6889873fff7942fb071ebfa750f2b8ef7f856c6e..46de0379601c3fa128dbf11716d039d7260b6f31 100644
--- a/gnome/src/widget/minidialog.c
+++ b/gnome/src/widget/minidialog.c
@@ -31,8 +31,8 @@
 #define HIG_BOX_SPACE 6
 #define LABEL_WIDTH 200
 
-static void     pidgin_mini_dialog_init(PidginMiniDialog      *self);
-static void     pidgin_mini_dialog_class_init(PidginMiniDialogClass *klass);
+static void pidgin_mini_dialog_init(PidginMiniDialog *self);
+static void pidgin_mini_dialog_class_init(PidginMiniDialogClass *klass);
 
 static gpointer pidgin_mini_dialog_parent_class = NULL;
 
@@ -61,7 +61,7 @@ pidgin_mini_dialog_get_type(void)
             (GInstanceInitFunc) pidgin_mini_dialog_init,
             NULL,
         };
-        g_define_type_id = g_type_register_static(GTK_TYPE_VBOX,
+        g_define_type_id = g_type_register_static(GTK_TYPE_BOX,
                            "PidginMiniDialog", &g_define_type_info, 0);
     }
 
@@ -366,7 +366,7 @@ pidgin_mini_dialog_init(PidginMiniDialog *self)
 
     gtk_container_set_border_width(GTK_CONTAINER(self), HIG_BOX_SPACE);
 
-    priv->title_box = GTK_BOX(gtk_hbox_new(FALSE, HIG_BOX_SPACE));
+    priv->title_box = GTK_BOX(gtk_box_new(GTK_ORIENTATION_HORIZONTAL, HIG_BOX_SPACE));
 
     priv->icon = GTK_IMAGE(gtk_image_new());
     gtk_misc_set_alignment(GTK_MISC(priv->icon), 0, 0);
@@ -390,14 +390,17 @@ pidgin_mini_dialog_init(PidginMiniDialog *self)
      */
     g_object_set(G_OBJECT(priv->desc), "no-show-all", TRUE, NULL);
 
-    self->contents = GTK_BOX(gtk_vbox_new(FALSE, 0));
+    self->contents = GTK_BOX(gtk_box_new(GTK_ORIENTATION_VERTICAL, 0));
 
-    priv->buttons = GTK_BOX(gtk_hbox_new(FALSE, 0));
+    priv->buttons = GTK_BOX(gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0));
 
     gtk_box_pack_start(self_box, GTK_WIDGET(priv->title_box), FALSE, FALSE, 0);
     gtk_box_pack_start(self_box, GTK_WIDGET(priv->desc), FALSE, FALSE, 0);
     gtk_box_pack_start(self_box, GTK_WIDGET(self->contents), TRUE, TRUE, 0);
     gtk_box_pack_start(self_box, GTK_WIDGET(priv->buttons), FALSE, FALSE, 0);
 
+    gtk_orientable_set_orientation(GTK_ORIENTABLE (self),
+                                   GTK_ORIENTATION_VERTICAL);
+
     gtk_widget_show_all(GTK_WIDGET(self));
 }
diff --git a/gnome/src/widget/minidialog.h b/gnome/src/widget/minidialog.h
index 6f02b83be4a8432dccca4669cc5c3afc18b0c104..673841659e78795a8a8fc832bc9b1765ff080c28 100644
--- a/gnome/src/widget/minidialog.h
+++ b/gnome/src/widget/minidialog.h
@@ -75,9 +75,9 @@ G_BEGIN_DECLS
  * </dl>
  */
 typedef struct {
-    GtkVBox parent;
+    GtkBox parent;
 
-    /** A GtkVBox into which extra widgets for the dialog should be packed.
+    /** A GtkBox into which extra widgets for the dialog should be packed.
      */
     GtkBox *contents;
 
diff --git a/gnome/tests/Makefile.am b/gnome/tests/Makefile.am
index d06467c5aafd7ecd60ee6c704207d771266c5644..fe5a5190ce90d15fd481aff0f6a9bc365c6fb8d1 100644
--- a/gnome/tests/Makefile.am
+++ b/gnome/tests/Makefile.am
@@ -9,27 +9,42 @@ SFLPHONE_LIBS = $(top_builddir)/src/contacts/libcontacts.la \
 
 ###########################################################
 
-check_global_SOURCES =		check_global.c $(top_srcdir)/src/accountlist.c $(top_srcdir)/src/logger.c
-check_global_CFLAGS =		@CHECK_CFLAGS@ @GTK_CFLAGS@ @DBUSGLIB_CFLAGS@
-check_global_LDADD =		$(SFLPHONE_LIBS) @CHECK_LIBS@ @GTK_LIBS@ @DBUSGLIB_LIBS@
+check_global_SOURCES = check_global.c $(top_srcdir)/src/accountlist.c $(top_srcdir)/src/logger.c
+check_global_CFLAGS = @CHECK_CFLAGS@ @GTK_CFLAGS@ @GLIB_CFLAGS@ @DBUSGLIB_CFLAGS@ @GCONF_CFLAGS@
+check_global_LDADD = $(SFLPHONE_LIBS) @CHECK_LIBS@ @GLIB_LIBS@ @GTK_LIBS@ @DBUSGLIB_LIBS@ @GCONF_LIBS@
 
 ###########################################################
 
-check_contacts_SOURCES =	check_contacts.c
-check_contacts_CFLAGS =		@CHECK_CFLAGS@ @GTK_CFLAGS@
-check_contacts_LDADD =		$(SFLPHONE_LIBS) @CHECK_LIBS@
+check_contacts_SOURCES = check_contacts.c
+check_contacts_CFLAGS = @CHECK_CFLAGS@ @GTK_CFLAGS@
+check_contacts_LDADD = $(SFLPHONE_LIBS) @CHECK_LIBS@
 
 ###########################################################
 
-check_config_SOURCES =		check_config.c
-check_config_CFLAGS = 		@CHECK_CFLAGS@ @GTK_CFLAGS@
-check_config_LDADD =		$(SFLPHONE_LIBS) @CHECK_LIBS@
+check_config_SOURCES = check_config.c
+check_config_CFLAGS = @CHECK_CFLAGS@ @GTK_CFLAGS@
+check_config_LDADD = $(SFLPHONE_LIBS) @CHECK_LIBS@
 
 ###########################################################
 
-check_dbus_SOURCES =		check_dbus.c $(top_srcdir)/src/logger.c $(top_srcdir)/src/accountlist.c $(top_srcdir)/src/actions.c $(top_srcdir)/src/codeclist.c $(top_srcdir)/src/dialpad.c $(top_srcdir)/src/mainwindow.c $(top_srcdir)/src/reqaccount.c $(top_srcdir)/src/sflnotify.c $(top_srcdir)/src/sliders.c $(top_srcdir)/src/statusicon.c $(top_srcdir)/src/callable_obj.c $(top_srcdir)/src/eel-gconf-extensions.c $(top_srcdir)/src/uimanager.c $(top_srcdir)/src/conference_obj.c $(top_srcdir)/src/shortcuts.c $(top_srcdir)/src/imwindow.c
-
-check_dbus_CFLAGS = 		@CHECK_CFLAGS@ @GTK_CFLAGS@ @DBUSGLIB_CFLAGS@ @WEBKIT_CFLAGS@ @LIBGNOMEUI_CFLAGS@
-check_dbus_LDADD =			$(SFLPHONE_LIBS) @CHECK_LIBS@ $(top_builddir)/src/widget/libwidget.la $(top_builddir)/src/icons/libicons.la
+check_dbus_SOURCES = check_dbus.c $(top_srcdir)/src/logger.c \
+					 $(top_srcdir)/src/accountlist.c \
+					 $(top_srcdir)/src/actions.c \
+					 $(top_srcdir)/src/codeclist.c \
+					 $(top_srcdir)/src/dialpad.c \
+					 $(top_srcdir)/src/mainwindow.c \
+					 $(top_srcdir)/src/reqaccount.c \
+					 $(top_srcdir)/src/sflnotify.c \
+					 $(top_srcdir)/src/sliders.c \
+					 $(top_srcdir)/src/statusicon.c \
+					 $(top_srcdir)/src/callable_obj.c \
+					 $(top_srcdir)/src/eel-gconf-extensions.c \
+					 $(top_srcdir)/src/uimanager.c \
+					 $(top_srcdir)/src/conference_obj.c \
+					 $(top_srcdir)/src/shortcuts.c \
+					 $(top_srcdir)/src/imwindow.c
+
+check_dbus_CFLAGS = @CHECK_CFLAGS@ @GTK_CFLAGS@ @DBUSGLIB_CFLAGS@ @GCONF_CFLAGS@ @WEBKIT_CFLAGS@
+check_dbus_LDADD = $(SFLPHONE_LIBS) @CHECK_LIBS@ @GCONF_LIBS@ $(top_builddir)/src/widget/libwidget.la $(top_builddir)/src/icons/libicons.la
 
 ###########################################################
diff --git a/gnome/tests/check_global.c b/gnome/tests/check_global.c
index 715329895679ef5eb8e5281953e9cfeb44badea1..aa3f1bb1569f92f3a7ab1cec9b8e6c0d7219a7ca 100644
--- a/gnome/tests/check_global.c
+++ b/gnome/tests/check_global.c
@@ -30,6 +30,7 @@
 #include <check.h>
 #include <stdlib.h>
 #include <gtk/gtk.h>
+#include <glib.h>
 
 #include "../src/accountlist.h"
 #include "../src/sflphone_const.h"
@@ -37,14 +38,11 @@
 account_t* create_test_account(gchar *alias)
 {
     account_t *test;
-    gchar *id;
 
     srand(time(NULL));
 
     test = g_new0(account_t, 1);
-    id = g_new0(gchar, 30);
-    g_sprintf(id, "%s-%d", alias, rand());
-    test->accountID = g_strdup(id);
+    test->accountID = g_strdup_printf("%s-%d", alias, rand());
     test->state = ACCOUNT_STATE_REGISTERED;
     test->properties = g_hash_table_new(NULL, g_str_equal);
 
@@ -60,7 +58,6 @@ account_t* create_test_account(gchar *alias)
     g_hash_table_replace(test->properties, ACCOUNT_SIP_STUN_ENABLED, "0");
 
     return test;
-
 }
 
 START_TEST(test_add_account)
@@ -75,15 +72,14 @@ END_TEST
 
 START_TEST(test_ordered_list)
 {
-    gchar *list;
     account_t *test = create_test_account("test");
 
-    list = g_new0(gchar, 30);
-    g_sprintf(list, "%s/%s/", test->accountID, test->accountID);
+    gchar *list = g_strdup_printf("%s/%s/", test->accountID, test->accountID);
     account_list_init();
     account_list_add(test);
     account_list_add(test);
     fail_unless(g_strcasecmp(account_list_get_ordered_list(), list) == 0, "ERROR - BAD ACCOUNT LIST SERIALIZING");
+    g_free(list);
 }
 END_TEST
 
diff --git a/plugins/configure.ac b/plugins/configure.ac
index 915447e19e108516936abab133a380b7a6892166..884fd32134cc7d36581a2c417e54d74cdaa5c5cc 100644
--- a/plugins/configure.ac
+++ b/plugins/configure.ac
@@ -15,11 +15,6 @@ AC_ARG_WITH(debug,
 		[with_debug=${withval}],
 		[with_debug=no]
 	)
-if test "x$with_debug" = "xfull" -o "x$with_debug" = "xyes"; then
-	CFLAGS="-g -O0 -DDEBUG -Wall -Wextra"
-else
-	CFLAGS="$CFLAGS -Wall -Wextra"
-fi
 
 AC_PROG_CC_C99
 dnl For target specific flags
@@ -28,6 +23,14 @@ AC_PROG_INSTALL
 AC_HEADER_STDC
 LT_INIT
 
+MIGRATION_FLAGS="-DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGTK_DISABLE_SINGLE_INCLUDES"
+if test "x$with_debug" = "xfull" -o "x$with_debug" = "xyes"; then
+    CFLAGS="-g -O0 -DDEBUG -Wall -Wextra $MIGRATION_FLAGS"
+else
+    CFLAGS="$CFLAGS -g -Wall -Wextra -Wshadow $MIGRATION_FLAGS"
+fi
+
+
 dnl GCONF utilities
 AM_GCONF_SOURCE_2