diff -Naur grsync-1.2.8.orig/configure.in grsync-1.2.8/configure.in --- grsync-1.2.8.orig/configure.in 2020-05-27 18:16:14.058381000 +0200 +++ grsync-1.2.8/configure.in 2020-05-27 18:16:34.514237609 +0200 @@ -14,6 +14,13 @@ AM_PROG_CC_STDC AC_HEADER_STDC +AC_ARG_ENABLE([gtk3], + [AC_HELP_STRING([--enable-gtk3], + [compile grsync against gtk+ 3.0 (default: yes)])], + [enable_gtk3="${enableval}"], + [enable_gtk3="yes"] +) + PKG_CHECK_EXISTS(maemo-version, [VERSIONOK=`$PKG_CONFIG --atleast-version=5 maemo-version` if test x"$VERSIONOK" != x; then AC_MSG_ERROR([You need at least Maemo 5.x for this release of Grsync]) @@ -34,7 +41,13 @@ MAEMO=0 XMLFILE="grsync.glade" AC_DEFINE_UNQUOTED(XMLFILE, ["$XMLFILE"], [UI Description XML File]) -pkg_modules="gtk+-2.0 >= 2.16.0" + + if test x"$enable_gtk3" = x"yes"; then + GTK_API_VERSION="3.0" + else + GTK_API_VERSION="2.0" + fi + pkg_modules="gtk+-$GTK_API_VERSION >= 2.16.0" OTHER_DESKTOP_ENTRIES="Icon=grsync.png" MIMEINFO_XMLNS="xmlns='http://www.freedesktop.org/standards/shared-mime-info'" MIME_OSSOCAT="" diff -Naur grsync-1.2.8.orig/grsync.glade grsync-1.2.8/grsync.glade --- grsync-1.2.8.orig/grsync.glade 2020-05-27 18:16:18.081553000 +0200 +++ grsync-1.2.8/grsync.glade 2020-05-27 18:17:16.919303348 +0200 @@ -322,7 +322,6 @@ True True 4 - True True @@ -1313,7 +1312,6 @@ True True main_window - False True @@ -1414,7 +1412,6 @@ True True main_window - False True @@ -1651,7 +1648,6 @@ True True dialog_rsync - False True @@ -1736,7 +1732,6 @@ True True main_window - False @@ -1930,7 +1925,6 @@ True True main_window - False diff -Naur grsync-1.2.8.orig/src/callbacks.c grsync-1.2.8/src/callbacks.c --- grsync-1.2.8.orig/src/callbacks.c 2020-05-03 16:36:45.000000000 +0200 +++ grsync-1.2.8/src/callbacks.c 2020-05-27 18:19:00.715749541 +0200 @@ -58,7 +58,7 @@ if (flag) { if (trayIcon == NULL) { trayIcon = gtk_status_icon_new_from_file(icon); - g_signal_connect(GTK_STATUS_ICON(trayIcon), "activate", GTK_SIGNAL_FUNC(on_trayicon_activate), main_window); + g_signal_connect(GTK_STATUS_ICON(trayIcon), "activate", G_CALLBACK(on_trayicon_activate), main_window); } } else { if (trayIcon != NULL) { @@ -111,7 +111,7 @@ void set_main_title(gchar* session, gchar* extra) { gchar *stmp = g_strconcat("Grsync: ", session, " ", extra, NULL); gtk_window_set_title((GtkWindow*) main_window, stmp); - if (trayIcon != NULL) gtk_status_icon_set_tooltip(trayIcon, stmp); + if (trayIcon != NULL) gtk_status_icon_set_tooltip_text(trayIcon, stmp); g_free(stmp); } @@ -815,7 +815,7 @@ } -void on_main_destroy(GtkObject *object, gpointer user_data) { +void on_main_destroy(GtkWidget *object, gpointer user_data) { gint sel = gtk_combo_box_get_active((GtkComboBox*) gtk_builder_get_object(builder, "combo_session")); save_settings(groups[sel], NULL); g_strfreev(groups); @@ -860,7 +860,7 @@ gtk_widget_hide(rsync_window); } } - if (cmdline_execute && !more && !cmdline_stayopen) on_main_destroy((GtkObject*) main_window, NULL); + if (cmdline_execute && !more && !cmdline_stayopen) on_main_destroy((GtkWidget*) main_window, NULL); } @@ -1177,7 +1177,7 @@ } -void on_rsync_hide(GtkObject *object, gpointer user_data) { +void on_rsync_hide(GtkWidget *object, gpointer user_data) { if (rsync_pid) { if (paused) superkill(SIGCONT); superkill(SIGTERM); diff -Naur grsync-1.2.8.orig/src/main.c grsync-1.2.8/src/main.c --- grsync-1.2.8.orig/src/main.c 2013-04-30 13:48:54.000000000 +0200 +++ grsync-1.2.8/src/main.c 2020-05-27 18:19:30.537013492 +0200 @@ -17,7 +17,6 @@ textdomain(GETTEXT_PACKAGE); #endif - gtk_set_locale(); #ifdef MAEMO hildon_gtk_init(&argc, &argv); #else