--- /dev/null
+diff -ur gtk+-3.2.2/modules/printbackends/cups.orig/gtkcupsutils.c gtk+-3.2.2/modules/printbackends/cups/gtkcupsutils.c
+--- gtk+-3.2.2/modules/printbackends/cups.orig/gtkcupsutils.c 2011-11-07 19:47:37.000000000 +0100
++++ gtk+-3.2.2/modules/printbackends/cups/gtkcupsutils.c 2011-11-23 11:50:56.413671604 +0100
+@@ -265,6 +265,10 @@
+ else if (request->type == GTK_CUPS_GET)
+ get_states[request->state] (request);
+
++ if (gtk_cups_result_is_error (request->result)) {
++ request->state = GTK_CUPS_REQUEST_DONE;
++ }
++
+ if (request->attempts > _GTK_CUPS_MAX_ATTEMPTS &&
+ request->state != GTK_CUPS_REQUEST_DONE)
+ {
+@@ -918,8 +922,8 @@
+ * The callback sets cups_password to NULL to signal that the
+ * password has been used.
+ */
+-static char *cups_password;
+-static char *cups_username;
++static char *cups_password = NULL;
++static char *cups_username = NULL;
+
+ static const char *
+ passwordCB (const char *prompt)
+@@ -955,6 +959,7 @@
+
+ if (request->password_state == GTK_CUPS_PASSWORD_APPLIED)
+ {
++ request->poll_state = GTK_CUPS_HTTP_IDLE;
+ request->password_state = GTK_CUPS_PASSWORD_NOT_VALID;
+ request->state = GTK_CUPS_POST_AUTH;
+ request->need_password = TRUE;
+@@ -972,7 +976,6 @@
+ {
+ if (request->password_state == GTK_CUPS_PASSWORD_NONE)
+ {
+- cups_password = g_strdup ("");
+ cups_username = request->username;
+ cupsSetPasswordCB (passwordCB);
+
+@@ -984,6 +987,7 @@
+ /* move to AUTH state to let the backend
+ * ask for a password
+ */
++ request->poll_state = GTK_CUPS_HTTP_IDLE;
+ request->state = GTK_CUPS_POST_AUTH;
+ request->need_password = TRUE;
+
+@@ -1247,6 +1287,7 @@
+
+ if (request->password_state == GTK_CUPS_PASSWORD_APPLIED)
+ {
++ request->poll_state = GTK_CUPS_HTTP_IDLE;
+ request->password_state = GTK_CUPS_PASSWORD_NOT_VALID;
+ request->state = GTK_CUPS_GET_AUTH;
+ request->need_password = TRUE;
+@@ -1264,7 +1311,6 @@
+ {
+ if (request->password_state == GTK_CUPS_PASSWORD_NONE)
+ {
+- cups_password = g_strdup ("");
+ cups_username = request->username;
+ cupsSetPasswordCB (passwordCB);
+
+@@ -1284,6 +1331,7 @@
+ /* move to AUTH state to let the backend
+ * ask for a password
+ */
++ request->poll_state = GTK_CUPS_HTTP_IDLE;
+ request->state = GTK_CUPS_GET_AUTH;
+ request->need_password = TRUE;
+
+@@ -1324,7 +1385,7 @@
+ return;
+ }
+
+- request->state = GTK_CUPS_GET_SEND;
++ request->state = GTK_CUPS_GET_CONNECT;
+ request->last_status = HTTP_CONTINUE;
+
+ return;
Summary(tr.UTF-8): GIMP ToolKit arayüz kitaplığı
Name: gtk+3
Version: 3.2.2
-Release: 1
+Release: 2
License: LGPL v2+
Group: X11/Libraries
Source0: http://ftp.gnome.org/pub/GNOME/sources/gtk+/3.2/gtk+-%{version}.tar.xz
# Source0-md5: 447e4f452eff459b81c1591a0adfd791
+Patch0: %{name}-cups-auth.patch
URL: http://www.gtk.org/
BuildRequires: atk-devel >= 1:2.1.5
BuildRequires: autoconf >= 2.62
%prep
%setup -q -n gtk+-%{version}
+%patch0 -p1
# for packaging clean examples
# TODO: add am patch to do it like demos/gtk-demo via some configurable dir