Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
Please unblock package byzanz Hello, I NMU'd byzanz to fix RC bug #666231, which is an update to support gtk 3.4. The rationale for these changes are available in the bug discussion : http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=666231 I attached the debdiff for your convenience. byzanz-0.2.2+git22.10.2011/config.guess | 49 +++++++++++------- byzanz-0.2.2+git22.10.2011/config.sub | 74 ++++++++++++++++++---------- byzanz-0.2.2+git22.10.2011/configure.ac | 10 +-- byzanz-0.2.2+git22.10.2011/debian/changelog | 10 +++ src/byzanzencoder.c | 3 - src/byzanzlayercursor.c | 24 +++++++-- src/byzanzselect.c | 18 ++++-- src/paneltogglebutton.c | 35 +++++++++++-- src/playback.c | 1 src/record.c | 1 10 files changed, 159 insertions(+), 66 deletions(-) Thanks ! unblock byzanz/0.2.2+git22.10.2011-1.3 -- Etienne Millon
diff -u byzanz-0.2.2+git22.10.2011/config.sub byzanz-0.2.2+git22.10.2011/config.sub --- byzanz-0.2.2+git22.10.2011/config.sub +++ byzanz-0.2.2+git22.10.2011/config.sub @@ -2,9 +2,9 @@ # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -# 2011 Free Software Foundation, Inc. +# 2011, 2012 Free Software Foundation, Inc. -timestamp='2011-03-23' +timestamp='2012-04-18' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -21,9 +21,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. +# along with this program; if not, see <http://www.gnu.org/licenses/>. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -76,8 +74,8 @@ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free -Software Foundation, Inc. +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 +Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -132,6 +130,10 @@ os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; + android-linux) + os=-linux-android + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown + ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] @@ -223,6 +225,12 @@ -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; + -lynx*178) + os=-lynxos178 + ;; + -lynx*5) + os=-lynxos5 + ;; -lynx*) os=-lynxos ;; @@ -247,17 +255,22 @@ # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ + | aarch64 | aarch64_be \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | be32 | be64 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ + | epiphany \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | hexagon \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ + | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep | metag \ @@ -291,7 +304,7 @@ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ - | rx \ + | rl78 | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ @@ -300,7 +313,7 @@ | spu \ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ - | v850 | v850e \ + | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | we32k \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) @@ -315,8 +328,7 @@ c6x) basic_machine=tic6x-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12 | picochip) - # Motorola 68HC11/12. + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) basic_machine=$basic_machine-unknown os=-none ;; @@ -329,7 +341,10 @@ strongarm | thumb | xscale) basic_machine=arm-unknown ;; - + xgate) + basic_machine=$basic_machine-unknown + os=-none + ;; xscaleeb) basic_machine=armeb-unknown ;; @@ -352,11 +367,13 @@ # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ + | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ + | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | clipper-* | craynv-* | cydra-* \ @@ -365,8 +382,10 @@ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | hexagon-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ + | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ @@ -400,7 +419,7 @@ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pyramid-* \ - | romp-* | rs6000-* | rx-* \ + | rl78-* | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ @@ -408,10 +427,11 @@ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile-* | tilegx-* \ + | tile*-* \ | tron-* \ | ubicom32-* \ - | v850-* | v850e-* | vax-* \ + | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ + | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ @@ -711,7 +731,6 @@ i370-ibm* | ibm*) basic_machine=i370-ibm ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 @@ -808,10 +827,18 @@ ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; + msys) + basic_machine=i386-pc + os=-msys + ;; mvs) basic_machine=i370-ibm os=-mvs ;; + nacl) + basic_machine=le32-unknown + os=-nacl + ;; ncr3000) basic_machine=i486-ncr os=-sysv4 @@ -1120,13 +1147,8 @@ basic_machine=t90-cray os=-unicos ;; - # This must be matched before tile*. - tilegx*) - basic_machine=tilegx-unknown - os=-linux-gnu - ;; tile*) - basic_machine=tile-unknown + basic_machine=$basic_machine-unknown os=-linux-gnu ;; tx39) @@ -1336,7 +1358,7 @@ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ @@ -1521,6 +1543,9 @@ c4x-* | tic4x-*) os=-coff ;; + hexagon-*) + os=-elf + ;; tic54x-*) os=-coff ;; @@ -1548,9 +1573,6 @@ ;; m68000-sun) os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 ;; m68*-cisco) os=-aout diff -u byzanz-0.2.2+git22.10.2011/configure.ac byzanz-0.2.2+git22.10.2011/configure.ac --- byzanz-0.2.2+git22.10.2011/configure.ac +++ byzanz-0.2.2+git22.10.2011/configure.ac @@ -65,14 +65,14 @@ CAIRO_REQ="1.10" GTK_REQ="3.0.0" -GTHREAD_REQ="2.6.0" APPLET_REQ="2.91.91" XDAMAGE_REQ="1.0" GST_REQ="0.10.24" +GIO_REQ="2.31" -PKG_CHECK_MODULES(GTK, cairo >= $CAIRO_REQ gtk+-3.0 >= $GTK_REQ x11 gio-2.0) +PKG_CHECK_MODULES(GTK, cairo >= $CAIRO_REQ gtk+-3.0 >= $GTK_REQ x11 gio-2.0 >= $GIO_REQ) -PKG_CHECK_MODULES(GTHREAD, xdamage >= $XDAMAGE_REQ gthread-2.0 >= $GTHREAD_REQ) +PKG_CHECK_MODULES(XDAMAGE, xdamage >= $XDAMAGE_REQ) LIBPANEL_APPLET="libpanelapplet-4.0" PKG_CHECK_MODULES(APPLET, $LIBPANEL_APPLET >= $APPLET_REQ) @@ -91,8 +91,8 @@ AC_SUBST(GIFENC_CFLAGS) AC_SUBST(GIFENC_LIBS) -BYZANZ_CFLAGS="$GTK_CFLAGS $GTHREAD_CFLAGS $GST_CFLAGS $ERROR_CFLAGS" -BYZANZ_LIBS="$GTK_LIBS $GTHREAD_LIBS $GST_LIBS" +BYZANZ_CFLAGS="$GTK_CFLAGS $XDAMAGE_CFLAGS $GST_CFLAGS $ERROR_CFLAGS" +BYZANZ_LIBS="$GTK_LIBS $XDAMAGE_LIBS $GST_LIBS" AC_SUBST(BYZANZ_CFLAGS) AC_SUBST(BYZANZ_LIBS) diff -u byzanz-0.2.2+git22.10.2011/config.guess byzanz-0.2.2+git22.10.2011/config.guess --- byzanz-0.2.2+git22.10.2011/config.guess +++ byzanz-0.2.2+git22.10.2011/config.guess @@ -2,9 +2,9 @@ # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -# 2011 Free Software Foundation, Inc. +# 2011, 2012 Free Software Foundation, Inc. -timestamp='2011-05-11' +timestamp='2012-02-10' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -17,9 +17,7 @@ # General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. +# along with this program; if not, see <http://www.gnu.org/licenses/>. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -57,8 +55,8 @@ Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free -Software Foundation, Inc. +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 +Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -145,7 +143,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward @@ -792,13 +790,12 @@ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) - case ${UNAME_MACHINE} in - pc98) - echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + UNAME_PROCESSOR=`/usr/bin/uname -p` + case ${UNAME_PROCESSOR} in amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) @@ -807,6 +804,9 @@ *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; + i*:MSYS*:*) + echo ${UNAME_MACHINE}-pc-msys + exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 @@ -861,6 +861,13 @@ i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; + aarch64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; @@ -895,13 +902,16 @@ echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) - echo cris-axis-linux-gnu + echo ${UNAME_MACHINE}-axis-linux-gnu exit ;; crisv32:Linux:*:*) - echo crisv32-axis-linux-gnu + echo ${UNAME_MACHINE}-axis-linux-gnu exit ;; frv:Linux:*:*) - echo frv-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + hexagon:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:Linux:*:*) LIBC=gnu @@ -943,7 +953,7 @@ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) - echo or32-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu @@ -978,13 +988,13 @@ echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; tile*:Linux:*:*) - echo ${UNAME_MACHINE}-tilera-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu @@ -1315,6 +1325,9 @@ i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; + x86_64:VMkernel:*:*) + echo ${UNAME_MACHINE}-unknown-esx + exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 diff -u byzanz-0.2.2+git22.10.2011/debian/changelog byzanz-0.2.2+git22.10.2011/debian/changelog --- byzanz-0.2.2+git22.10.2011/debian/changelog +++ byzanz-0.2.2+git22.10.2011/debian/changelog @@ -1,3 +1,13 @@ +byzanz (0.2.2+git22.10.2011-1.3) unstable; urgency=low + + * Non-maintainer upload. + * Fix FTBFS with gtk 3.4 (Closes: #666231) + - pick commit 3924af from upstream + - use gtk_widget_get_preferred_size and gtk_render_background + instead of their deprecated counterparts + + -- Etienne Millon <etienne.mil...@gmail.com> Wed, 25 Jul 2012 17:35:33 +0200 + byzanz (0.2.2+git22.10.2011-1.2) unstable; urgency=low * Non-maintainer upload. only in patch2: unchanged: --- byzanz-0.2.2+git22.10.2011.orig/src/byzanzlayercursor.c +++ byzanz-0.2.2+git22.10.2011/src/byzanzlayercursor.c @@ -64,8 +64,16 @@ { ByzanzLayerCursor *clayer = data; int x, y; - - gdk_window_get_pointer (BYZANZ_LAYER (clayer)->recorder->window, &x, &y, NULL); + GdkDevice *device; + GdkDeviceManager *device_manager; + GdkDisplay *display; + GdkWindow *window; + + window = BYZANZ_LAYER (clayer)->recorder->window; + display = gdk_window_get_display (window); + device_manager = gdk_display_get_device_manager (display); + device = gdk_device_manager_get_client_pointer (device_manager); + gdk_window_get_device_position (window, device, &x, &y, NULL); if (x == clayer->cursor_x && y == clayer->cursor_y) return TRUE; @@ -107,8 +115,16 @@ ByzanzLayerCursor *clayer = BYZANZ_LAYER_CURSOR (layer); cairo_region_t *region, *area; int x, y; - - gdk_window_get_pointer (layer->recorder->window, &x, &y, NULL); + GdkDevice *device; + GdkDeviceManager *device_manager; + GdkDisplay *display; + GdkWindow *window; + + window = layer->recorder->window; + display = gdk_window_get_display (window); + device_manager = gdk_display_get_device_manager (display); + device = gdk_device_manager_get_client_pointer (device_manager); + gdk_window_get_device_position (window, device, &x, &y, NULL); if (x == clayer->cursor_x && y == clayer->cursor_y && clayer->cursor_next == clayer->cursor) only in patch2: unchanged: --- byzanz-0.2.2+git22.10.2011.orig/src/byzanzencoder.c +++ byzanz-0.2.2+git22.10.2011/src/byzanzencoder.c @@ -276,8 +276,7 @@ { ByzanzEncoder *encoder = BYZANZ_ENCODER (object); - encoder->thread = g_thread_create (byzanz_encoder_thread, encoder, - TRUE, &encoder->error); + encoder->thread = g_thread_new ("encoder", byzanz_encoder_thread, encoder); if (encoder->thread) g_object_ref (encoder); only in patch2: unchanged: --- byzanz-0.2.2+git22.10.2011.orig/src/record.c +++ byzanz-0.2.2+git22.10.2011/src/record.c @@ -131,7 +131,6 @@ textdomain (GETTEXT_PACKAGE); #endif - g_thread_init (NULL); context = g_option_context_new (_("record your current desktop session")); #ifdef GETTEXT_PACKAGE g_option_context_set_translation_domain(context, GETTEXT_PACKAGE); only in patch2: unchanged: --- byzanz-0.2.2+git22.10.2011.orig/src/byzanzselect.c +++ byzanz-0.2.2+git22.10.2011/src/byzanzselect.c @@ -227,7 +227,7 @@ GDK_POINTER_MOTION_MASK); cursor = gdk_cursor_new (GDK_CROSSHAIR); gdk_window_set_cursor (window, cursor); - gdk_cursor_unref (cursor); + g_object_unref (cursor); gdk_window_set_background_pattern (window, NULL); } @@ -308,7 +308,7 @@ ByzanzSelectData *data = datap; GdkWindow *window; - gdk_pointer_ungrab (event->time); + gdk_device_ungrab (gdk_event_get_device ((GdkEvent*)event), event->time); if (event->button == 1) { Window w; @@ -335,14 +335,22 @@ byzanz_select_window (ByzanzSelectData *data) { GdkCursor *cursor; - + GdkWindow *window; + GdkDevice *device; + GdkDeviceManager *device_manager; + GdkDisplay *display; + cursor = gdk_cursor_new (GDK_CROSSHAIR); data->window = gtk_invisible_new (); g_signal_connect (data->window, "button-press-event", G_CALLBACK (select_window_button_pressed_cb), data); gtk_widget_show (data->window); - gdk_pointer_grab (gtk_widget_get_window (data->window), FALSE, GDK_BUTTON_PRESS_MASK, NULL, cursor, GDK_CURRENT_TIME); - gdk_cursor_unref (cursor); + window = gtk_widget_get_window (data->window); + display = gdk_window_get_display (window); + device_manager = gdk_display_get_device_manager (display); + device = gdk_device_manager_get_client_pointer (device_manager); + gdk_device_grab (device, window, GDK_OWNERSHIP_NONE, FALSE, GDK_BUTTON_PRESS_MASK, cursor, GDK_CURRENT_TIME); + g_object_unref (cursor); } /*** API ***/ only in patch2: unchanged: --- byzanz-0.2.2+git22.10.2011.orig/src/playback.c +++ byzanz-0.2.2+git22.10.2011/src/playback.c @@ -71,7 +71,6 @@ textdomain (GETTEXT_PACKAGE); #endif - g_thread_init (NULL); g_type_init (); context = g_option_context_new (_("process a Byzanz debug recording")); only in patch2: unchanged: --- byzanz-0.2.2+git22.10.2011.orig/src/paneltogglebutton.c +++ byzanz-0.2.2+git22.10.2011/src/paneltogglebutton.c @@ -35,7 +35,7 @@ child = gtk_bin_get_child (GTK_BIN (widget)); if (child) { - gtk_widget_size_request (child, requisition); + gtk_widget_get_preferred_size (child, requisition, NULL); } else { requisition->width = requisition->height = 0; } @@ -91,6 +91,8 @@ GtkStateType state_type; GtkShadowType shadow_type; GtkAllocation allocation; + GtkStyleContext *context = gtk_widget_get_style_context (widget); + GtkStateFlags flags = 0; state_type = gtk_widget_get_state (widget); @@ -107,9 +109,34 @@ state_type = GTK_STATE_SELECTED; /* FIXME: better detail? */ gtk_widget_get_allocation (widget, &allocation); - gtk_paint_flat_box (gtk_widget_get_style (widget), cr, state_type, shadow_type, - widget, "togglebutton", allocation.x, - allocation.y, allocation.width, allocation.height); + gtk_style_context_add_class (context, "togglebutton"); + switch (state_type) + { + case GTK_STATE_PRELIGHT: + flags |= GTK_STATE_FLAG_PRELIGHT; + break; + case GTK_STATE_SELECTED: + flags |= GTK_STATE_FLAG_SELECTED; + break; + case GTK_STATE_INSENSITIVE: + flags |= GTK_STATE_FLAG_INSENSITIVE; + break; + case GTK_STATE_ACTIVE: + flags |= GTK_STATE_FLAG_ACTIVE; + break; + case GTK_STATE_FOCUSED: + flags |= GTK_STATE_FLAG_FOCUSED; + break; + case GTK_STATE_NORMAL: + case GTK_STATE_INCONSISTENT: + default: + break; + } + + gtk_style_context_set_state (context, flags); + gtk_render_background (context, cr, (gdouble) allocation.x, (gdouble) allocation.y, + (gdouble) allocation.width, (gdouble) allocation.height); + (void) shadow_type; if (child) gtk_container_propagate_draw (GTK_CONTAINER (widget), child, cr);