File remmina-gtk-2-22-support.patch of Package remmina
diff -ur remmina-1.0.0/cmake/FindGTK2.cmake remmina-1.0.0.gtk-2.22/cmake/FindGTK2.cmake
--- remmina-1.0.0/cmake/FindGTK2.cmake 2012-03-08 21:59:37.000000000 +0400
+++ remmina-1.0.0.gtk-2.22/cmake/FindGTK2.cmake 2012-03-22 02:28:00.000000000 +0400
@@ -32,6 +32,8 @@
find_library(GTK2_LIBRARY NAMES gtk-x11-2.0)
+STRING(REGEX REPLACE "2[.]([0-9]+).*" "\\1" GTK2_VERSION "${PC_GTK2_VERSION}")
+
# Gdk
pkg_check_modules(PC_GDK2 gdk-x11-2.0)
Только в remmina-1.0.0/: CMakeLists.txt~
diff -ur remmina-1.0.0/remmina/src/remmina_ftp_client.c remmina-1.0.0.gtk-2.22/remmina/src/remmina_ftp_client.c
--- remmina-1.0.0/remmina/src/remmina_ftp_client.c 2012-02-10 22:54:23.000000000 +0400
+++ remmina-1.0.0.gtk-2.22/remmina/src/remmina_ftp_client.c 2012-03-22 00:01:11.000000000 +0400
@@ -861,9 +861,17 @@
gtk_paned_pack1(GTK_PANED(vpaned), vbox, TRUE, FALSE);
/* Remote Directory */
+#if GTK_VERSION == 2 && GTK2_VERSION <= 22
+ widget = gtk_combo_box_entry_new_text ();
+#else
widget = gtk_combo_box_text_new_with_entry();
+#endif
gtk_widget_show(widget);
+#if GTK_VERSION == 2 && GTK2_VERSION <= 22
+ gtk_combo_box_append_text (GTK_COMBO_BOX (widget), "/");
+#else
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(widget), "/");
+#endif
gtk_box_pack_start(GTK_BOX(vbox), widget, FALSE, TRUE, 0);
priv->directory_combo = widget;
@@ -1115,7 +1123,11 @@
g_free(t);
}
+#if GTK_VERSION == 2 && GTK2_VERSION <= 22
+gtk_combo_box_prepend_text (GTK_COMBO_BOX (priv->directory_combo), dir);
+#else
gtk_combo_box_text_prepend_text(GTK_COMBO_BOX_TEXT(priv->directory_combo), dir);
+#endif
gtk_combo_box_set_active(GTK_COMBO_BOX(priv->directory_combo), 0);
g_free(priv->current_directory);
diff -ur remmina-1.0.0/remmina/src/remmina_public.c remmina-1.0.0.gtk-2.22/remmina/src/remmina_public.c
--- remmina-1.0.0/remmina/src/remmina_public.c 2012-02-10 22:54:23.000000000 +0400
+++ remmina-1.0.0.gtk-2.22/remmina/src/remmina_public.c 2012-03-22 02:46:49.000000000 +0400
@@ -49,7 +49,11 @@
gchar *buf, *ptr1, *ptr2;
gint i;
+#if GTK_VERSION == 2 && GTK2_VERSION <= 22
+ combo = gtk_combo_box_entry_new_text ();
+#else
combo = gtk_combo_box_text_new_with_entry();
+#endif
found = FALSE;
if (text && text[0] != '\0')
@@ -65,7 +69,11 @@
if (descending)
{
+ #if GTK_VERSION == 2 && GTK2_VERSION <= 22
+ gtk_combo_box_prepend_text (GTK_COMBO_BOX (combo), ptr1);
+ #else
gtk_combo_box_text_prepend_text(GTK_COMBO_BOX_TEXT(combo), ptr1);
+ #endif
if (!found && g_strcmp0(ptr1, def) == 0)
{
gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 0);
@@ -74,7 +82,11 @@
}
else
{
+ #if GTK_VERSION == 2 && GTK2_VERSION <= 22
+ gtk_combo_box_append_text (GTK_COMBO_BOX (combo), ptr1);
+ #else
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), ptr1);
+ #endif
if (!found && g_strcmp0(ptr1, def) == 0)
{
gtk_combo_box_set_active(GTK_COMBO_BOX(combo), i);
@@ -262,10 +274,17 @@
GtkTreeIter iter;
gchar *s;
+#if GTK_VERSION == 2 && GTK2_VERSION <= 22
+ if (GTK_IS_COMBO_BOX(combo))
+ {
+ return gtk_combo_box_get_active_text(GTK_COMBO_BOX(combo));
+ }
+#else
if (GTK_IS_COMBO_BOX_TEXT(combo))
{
return gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(combo));
}
+#endif
if (!gtk_combo_box_get_active_iter(combo, &iter))
return NULL;
@@ -491,7 +510,11 @@
g_return_val_if_fail (gtk_widget_get_realized (GTK_WIDGET (gtkwindow)), 0);
window = gtk_widget_get_window (GTK_WIDGET (gtkwindow));
+#if GTK_VERSION == 2 && GTK2_VERSION <= 22
+ display = gdk_drawable_get_display (window);
+#else
display = gdk_window_get_display (window);
+#endif
gdk_error_trap_push ();
result = XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), GDK_WINDOW_XID (window),