diff -Nru simple-scan-3.4.1/Makefile.in simple-scan-3.4.3/Makefile.in --- simple-scan-3.4.1/Makefile.in 2012-04-17 06:21:26.000000000 +0000 +++ simple-scan-3.4.3/Makefile.in 2013-03-21 20:42:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.11.3 from Makefile.am. +# Makefile.in generated by automake 1.11.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -15,6 +15,23 @@ @SET_MAKE@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -61,6 +78,11 @@ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ @@ -471,13 +493,10 @@ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ @@ -563,7 +582,7 @@ *.zip*) \ unzip $(distdir).zip ;;\ esac - chmod -R a-w $(distdir); chmod a+w $(distdir) + chmod -R a-w $(distdir); chmod u+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) diff -Nru simple-scan-3.4.1/NEWS simple-scan-3.4.3/NEWS --- simple-scan-3.4.1/NEWS 2012-04-17 06:11:20.000000000 +0000 +++ simple-scan-3.4.3/NEWS 2013-03-21 20:39:03.000000000 +0000 @@ -1,3 +1,14 @@ +Overview of changes in simple-scan 3.4.3 + + * Fix scan no longer working after an ADF scan completes + * Fix erroneous warning about failing to set ADF source + * Fix crash caused by signal being emitted in scan thread + * Fix crash when starting a new document during a scan + +Overview of changes in simple-scan 3.4.2 + + * Fix save dialog filter labels + Overview of changes in simple-scan 3.4.1 * Always set scanner options in the same order to avoid options resetting diff -Nru simple-scan-3.4.1/aclocal.m4 simple-scan-3.4.3/aclocal.m4 --- simple-scan-3.4.1/aclocal.m4 2012-04-17 06:21:25.000000000 +0000 +++ simple-scan-3.4.3/aclocal.m4 2013-03-21 20:42:51.000000000 +0000 @@ -1,4 +1,4 @@ -# generated automatically by aclocal 1.11.3 -*- Autoconf -*- +# generated automatically by aclocal 1.11.6 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, @@ -14,8 +14,8 @@ m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],, -[m4_warning([this file was generated for autoconf 2.68. +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, +[m4_warning([this file was generated for autoconf 2.69. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'.])]) @@ -67,7 +67,7 @@ DISABLE_DEPRECATED="" if test $USE_MAINTAINER_MODE = yes; then - DOMAINS="G ATK PANGO GDK GDK_PIXBUF GTK GCONF BONOBO BONOBO_UI GNOME LIBGLADE VTE GNOME_VFS WNCK LIBSOUP" + DOMAINS="GCONF BONOBO BONOBO_UI GNOME LIBGLADE GNOME_VFS WNCK LIBSOUP" for DOMAIN in $DOMAINS; do DISABLE_DEPRECATED="$DISABLE_DEPRECATED -D${DOMAIN}_DISABLE_DEPRECATED -D${DOMAIN}_DISABLE_SINGLE_INCLUDES" done @@ -666,8 +666,10 @@ rm -f $(_HELP_LC_FILES) $(_HELP_LC_STAMPS) $(_HELP_MOFILES) EXTRA_DIST ?= -EXTRA_DIST += $(_HELP_LC_STAMPS) $(_HELP_C_EXTRA) $(_HELP_C_MEDIA) $(_HELP_POFILES) -EXTRA_DIST += $(foreach f,$(HELP_MEDIA),$(foreach lc,$(_HELP_LINGUAS),$(wildcard $(lc)/$(f)))) +EXTRA_DIST += $(_HELP_C_EXTRA) $(_HELP_C_MEDIA) +EXTRA_DIST += $(foreach lc,$(HELP_LINGUAS),$(lc)/$(lc).stamp) +EXTRA_DIST += $(foreach lc,$(HELP_LINGUAS),$(lc)/$(lc).po) +EXTRA_DIST += $(foreach f,$(HELP_MEDIA),$(foreach lc,$(HELP_LINGUAS),$(wildcard $(lc)/$(f)))) distdir: distdir-help-files distdir-help-files: @@ -779,7 +781,7 @@ [am__api_version='1.11' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.11.3], [], +m4_if([$1], [1.11.6], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -795,7 +797,7 @@ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.11.3])dnl +[AM_AUTOMAKE_VERSION([1.11.6])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) diff -Nru simple-scan-3.4.1/configure simple-scan-3.4.3/configure --- simple-scan-3.4.1/configure 2012-04-17 06:21:26.000000000 +0000 +++ simple-scan-3.4.3/configure 2013-03-21 20:42:52.000000000 +0000 @@ -1,11 +1,9 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68. +# Generated by GNU Autoconf 2.69. # # -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software -# Foundation, Inc. +# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation @@ -134,6 +132,31 @@ # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +as_fn_exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh @@ -167,7 +190,8 @@ else exitcode=1; echo positional parameters were not saved. fi -test x\$exitcode = x0 || exit 1" +test x\$exitcode = x0 || exit 1 +test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && @@ -212,21 +236,25 @@ if test "x$CONFIG_SHELL" != x; then : - # We cannot yet assume a decent shell, so we have to provide a - # neutralization value for shells without unset; and this also - # works around shells that cannot unset nonexistent variables. - # Preserve -v and -x to the replacement shell. - BASH_ENV=/dev/null - ENV=/dev/null - (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV - export CONFIG_SHELL - case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; - esac - exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 fi if test x$as_have_required = xno; then : @@ -328,6 +356,14 @@ } # as_fn_mkdir_p + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take @@ -449,6 +485,10 @@ chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). @@ -483,16 +523,16 @@ # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. + # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' + as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null @@ -504,28 +544,8 @@ as_mkdir_p=false fi -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in #( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x +as_test_x='test -x' +as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -1291,8 +1311,6 @@ if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe - $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi @@ -1556,9 +1574,9 @@ if $ac_init_version; then cat <<\_ACEOF configure -generated by GNU Autoconf 2.68 +generated by GNU Autoconf 2.69 -Copyright (C) 2010 Free Software Foundation, Inc. +Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -1634,7 +1652,7 @@ test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext + test -x conftest$ac_exeext }; then : ac_retval=0 else @@ -1921,7 +1939,7 @@ running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was -generated by GNU Autoconf 2.68. Invocation command line was +generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2336,7 +2354,7 @@ # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. @@ -2505,7 +2523,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2545,7 +2563,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2596,7 +2614,7 @@ test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do - { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue + as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ @@ -2649,7 +2667,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2735,7 +2753,7 @@ # Define the identity of the package. PACKAGE=simple-scan - VERSION=3.4.1 + VERSION=3.4.3 cat >>confdefs.h <<_ACEOF @@ -2805,7 +2823,7 @@ DISABLE_DEPRECATED="" if test $USE_MAINTAINER_MODE = yes; then - DOMAINS="G ATK PANGO GDK GDK_PIXBUF GTK GCONF BONOBO BONOBO_UI GNOME LIBGLADE VTE GNOME_VFS WNCK LIBSOUP" + DOMAINS="GCONF BONOBO BONOBO_UI GNOME LIBGLADE GNOME_VFS WNCK LIBSOUP" for DOMAIN in $DOMAINS; do DISABLE_DEPRECATED="$DISABLE_DEPRECATED -D${DOMAIN}_DISABLE_DEPRECATED -D${DOMAIN}_DISABLE_SINGLE_INCLUDES" done @@ -2938,7 +2956,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2978,7 +2996,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3031,7 +3049,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3072,7 +3090,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue @@ -3130,7 +3148,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3174,7 +3192,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3620,8 +3638,7 @@ /* end confdefs.h. */ #include #include -#include -#include +struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); @@ -3909,7 +3926,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_VALAC="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4239,7 +4256,7 @@ for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in @@ -4305,7 +4322,7 @@ for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in @@ -4505,7 +4522,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4548,7 +4565,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4621,7 +4638,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GLIB_COMPILE_SCHEMAS="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5066,7 +5083,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ITSTOOL="itstool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5108,7 +5125,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_XMLLINT="xmllint" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5206,8 +5223,10 @@ rm -f $(_HELP_LC_FILES) $(_HELP_LC_STAMPS) $(_HELP_MOFILES) EXTRA_DIST ?= -EXTRA_DIST += $(_HELP_LC_STAMPS) $(_HELP_C_EXTRA) $(_HELP_C_MEDIA) $(_HELP_POFILES) -EXTRA_DIST += $(foreach f,$(HELP_MEDIA),$(foreach lc,$(_HELP_LINGUAS),$(wildcard $(lc)/$(f)))) +EXTRA_DIST += $(_HELP_C_EXTRA) $(_HELP_C_MEDIA) +EXTRA_DIST += $(foreach lc,$(HELP_LINGUAS),$(lc)/$(lc).stamp) +EXTRA_DIST += $(foreach lc,$(HELP_LINGUAS),$(lc)/$(lc).po) +EXTRA_DIST += $(foreach f,$(HELP_MEDIA),$(foreach lc,$(HELP_LINGUAS),$(wildcard $(lc)/$(f)))) distdir: distdir-help-files distdir-help-files: @@ -5356,7 +5375,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_INTLTOOL_UPDATE="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5396,7 +5415,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_INTLTOOL_MERGE="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5436,7 +5455,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_INTLTOOL_EXTRACT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5620,7 +5639,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_XGETTEXT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5660,7 +5679,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_MSGMERGE="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5700,7 +5719,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_MSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5740,7 +5759,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5791,7 +5810,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_INTLTOOL_PERL="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6322,16 +6341,16 @@ # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. + # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' + as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null @@ -6391,28 +6410,16 @@ as_mkdir_p=false fi -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in #( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -6434,7 +6441,7 @@ # values after options handling. ac_log=" This file was extended by $as_me, which was -generated by GNU Autoconf 2.68. Invocation command line was +generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -6500,10 +6507,10 @@ ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ config.status -configured by $0, generated by GNU Autoconf 2.68, +configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" -Copyright (C) 2010 Free Software Foundation, Inc. +Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -6594,7 +6601,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then - set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' diff -Nru simple-scan-3.4.1/configure.ac simple-scan-3.4.3/configure.ac --- simple-scan-3.4.1/configure.ac 2012-04-17 06:20:29.000000000 +0000 +++ simple-scan-3.4.3/configure.ac 2013-03-21 20:42:48.000000000 +0000 @@ -1,7 +1,7 @@ dnl Process this file with autoconf to produce a configure script. AC_INIT(configure.ac) -AM_INIT_AUTOMAKE(simple-scan, 3.4.1) +AM_INIT_AUTOMAKE(simple-scan, 3.4.3) AM_CONFIG_HEADER(config.h) AM_MAINTAINER_MODE GNOME_MAINTAINER_MODE_DEFINES diff -Nru simple-scan-3.4.1/data/Makefile.in simple-scan-3.4.3/data/Makefile.in --- simple-scan-3.4.1/data/Makefile.in 2012-04-17 06:21:26.000000000 +0000 +++ simple-scan-3.4.3/data/Makefile.in 2013-03-21 20:42:51.000000000 +0000 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.11.3 from Makefile.am. +# Makefile.in generated by automake 1.11.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -16,6 +16,23 @@ @SET_MAKE@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -57,6 +74,11 @@ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ @@ -296,9 +318,18 @@ $(am__aclocal_m4_deps): install-man1: $(man1_MANS) @$(NORMAL_INSTALL) - test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" - @list='$(man1_MANS)'; test -n "$(man1dir)" || exit 0; \ - { for i in $$list; do echo "$$i"; done; \ + @list1='$(man1_MANS)'; \ + list2=''; \ + test -n "$(man1dir)" \ + && test -n "`echo $$list1$$list2`" \ + || exit 0; \ + echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ + { for i in $$list1; do echo "$$i"; done; \ + if test -n "$$list2"; then \ + for i in $$list2; do echo "$$i"; done \ + | sed -n '/\.1[a-z]*$$/p'; \ + fi; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ @@ -328,8 +359,11 @@ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) install-uiDATA: $(ui_DATA) @$(NORMAL_INSTALL) - test -z "$(uidir)" || $(MKDIR_P) "$(DESTDIR)$(uidir)" @list='$(ui_DATA)'; test -n "$(uidir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(uidir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(uidir)" || exit 1; \ + fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ @@ -346,8 +380,11 @@ dir='$(DESTDIR)$(uidir)'; $(am__uninstall_files_from_dir) install-utilitiesDATA: $(utilities_DATA) @$(NORMAL_INSTALL) - test -z "$(utilitiesdir)" || $(MKDIR_P) "$(DESTDIR)$(utilitiesdir)" @list='$(utilities_DATA)'; test -n "$(utilitiesdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(utilitiesdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(utilitiesdir)" || exit 1; \ + fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ @@ -543,13 +580,10 @@ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ diff -Nru simple-scan-3.4.1/data/icons/Makefile.in simple-scan-3.4.3/data/icons/Makefile.in --- simple-scan-3.4.1/data/icons/Makefile.in 2012-04-17 06:21:26.000000000 +0000 +++ simple-scan-3.4.3/data/icons/Makefile.in 2013-03-21 20:42:51.000000000 +0000 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.11.3 from Makefile.am. +# Makefile.in generated by automake 1.11.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -15,6 +15,23 @@ @SET_MAKE@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -49,6 +66,11 @@ am__v_at_0 = @ SOURCES = DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ diff -Nru simple-scan-3.4.1/debian/changelog simple-scan-3.4.3/debian/changelog --- simple-scan-3.4.1/debian/changelog 2012-05-02 01:52:19.000000000 +0000 +++ simple-scan-3.4.3/debian/changelog 2013-03-21 22:37:40.000000000 +0000 @@ -1,3 +1,18 @@ +simple-scan (3.4.3-0ubuntu1) precise-proposed; urgency=low + + * New upstream bugfix release (LP: #1158558): + [ 3.4.2 ] + - Fix save dialog filter labels + [ 3.4.3 ] + - Fix scan no longer working after an ADF scan completes (LP: #1097096) + - Fix erroneous warning about failing to set ADF source + - Fix crash caused by signal being emitted in scan thread + - Fix crash when starting a new document during a scan + * debian/patches/02-file-filter-labels.patch: + - Applied upstream + + -- Robert Ancell Fri, 22 Mar 2013 09:47:49 +1300 + simple-scan (3.4.1-0ubuntu1.1) precise-proposed; urgency=low * debian/patches/02-file-filter-labels.patch: diff -Nru simple-scan-3.4.1/debian/patches/02-file-filter-labels.patch simple-scan-3.4.3/debian/patches/02-file-filter-labels.patch --- simple-scan-3.4.1/debian/patches/02-file-filter-labels.patch 2012-05-02 01:52:19.000000000 +0000 +++ simple-scan-3.4.3/debian/patches/02-file-filter-labels.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -=== modified file 'src/ui.vala' ---- a/src/ui.vala 2012-04-01 18:13:06 +0000 -+++ b/src/ui.vala 2012-05-02 01:41:44 +0000 -@@ -351,14 +351,14 @@ - - /* Filter to only show images by default */ - var filter = new Gtk.FileFilter (); -- filter.set_name (/* Save dialog: Filter name to show only image files */ -- _("Image Files")); -+ filter.set_filter_name (/* Save dialog: Filter name to show only image files */ -+ _("Image Files")); - filter.add_pixbuf_formats (); - filter.add_mime_type ("application/pdf"); - save_dialog.add_filter (filter); - filter = new Gtk.FileFilter (); -- filter.set_name (/* Save dialog: Filter name to show all files */ -- _("All Files")); -+ filter.set_filter_name (/* Save dialog: Filter name to show all files */ -+ _("All Files")); - filter.add_pattern ("*"); - save_dialog.add_filter (filter); - - diff -Nru simple-scan-3.4.1/debian/patches/series simple-scan-3.4.3/debian/patches/series --- simple-scan-3.4.1/debian/patches/series 2012-05-02 01:52:19.000000000 +0000 +++ simple-scan-3.4.3/debian/patches/series 2013-03-21 22:37:40.000000000 +0000 @@ -1,3 +1,2 @@ 01-zlib.patch -02-file-filter-labels.patch 20-lpi.patch diff -Nru simple-scan-3.4.1/help/Makefile.in simple-scan-3.4.3/help/Makefile.in --- simple-scan-3.4.1/help/Makefile.in 2012-04-17 06:21:26.000000000 +0000 +++ simple-scan-3.4.3/help/Makefile.in 2013-03-21 20:42:51.000000000 +0000 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.11.3 from Makefile.am. +# Makefile.in generated by automake 1.11.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -15,6 +15,23 @@ @SET_MAKE@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -49,6 +66,11 @@ am__v_at_0 = @ SOURCES = DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ diff -Nru simple-scan-3.4.1/src/Makefile.in simple-scan-3.4.3/src/Makefile.in --- simple-scan-3.4.1/src/Makefile.in 2012-04-17 06:21:26.000000000 +0000 +++ simple-scan-3.4.3/src/Makefile.in 2013-03-21 20:42:51.000000000 +0000 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.11.3 from Makefile.am. +# Makefile.in generated by automake 1.11.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -16,6 +16,23 @@ @SET_MAKE@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -87,6 +104,11 @@ am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(simple_scan_SOURCES) DIST_SOURCES = $(simple_scan_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -289,8 +311,11 @@ $(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ + fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p; \ @@ -488,9 +513,9 @@ @if test -f $@; then :; else \ $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/simple_scan_vala.stamp; \ fi -$(srcdir)/simple_scan_vala.stamp: $(simple_scan_SOURCES) +$(srcdir)/simple_scan_vala.stamp: config.vapi book.vala book-view.vala colord.vapi jpeglib.vapi page.vala page-view.vala sane.vapi simple-scan.vala scanner.vala ui.vala $(AM_V_at)rm -f $@ && echo stamp > $@-t - $(AM_V_VALAC)$(am__cd) $(srcdir) && $(VALAC) $(simple_scan_VALAFLAGS) $(VALAFLAGS) -C $(simple_scan_SOURCES) + $(AM_V_VALAC)$(am__cd) $(srcdir) && $(VALAC) $(simple_scan_VALAFLAGS) $(VALAFLAGS) -C config.vapi book.vala book-view.vala colord.vapi jpeglib.vapi page.vala page-view.vala sane.vapi simple-scan.vala scanner.vala ui.vala $(AM_V_at)mv -f $@-t $@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) diff -Nru simple-scan-3.4.1/src/book-view.c simple-scan-3.4.3/src/book-view.c --- simple-scan-3.4.1/src/book-view.c 2012-04-17 06:15:20.000000000 +0000 +++ simple-scan-3.4.3/src/book-view.c 2013-03-21 20:42:57.000000000 +0000 @@ -1,4 +1,4 @@ -/* book-view.c generated by valac 0.16.0, the Vala compiler +/* book-view.c generated by valac 0.18.1, the Vala compiler * generated from book-view.vala, do not modify */ /* @@ -120,12 +120,7 @@ enum { BOOK_VIEW_DUMMY_PROPERTY }; -BookView* book_view_new (Book* book); -BookView* book_view_construct (GType object_type, Book* book); -guint book_get_n_pages (Book* self); -Page* book_get_page (Book* self, gint page_number); static void book_view_add_cb (BookView* self, Book* book, Page* page); -void book_view_select_page (BookView* self, Page* page); static void _book_view_add_cb_book_page_added (Book* _sender, Page* page, gpointer self); static void book_view_remove_cb (BookView* self, Book* book, Page* page); static void _book_view_remove_cb_book_page_removed (Book* _sender, Page* page, gpointer self); @@ -133,8 +128,6 @@ static void _book_view_reorder_cb_book_reordered (Book* _sender, gpointer self); static void book_view_clear_cb (BookView* self, Book* book); static void _book_view_clear_cb_book_cleared (Book* _sender, gpointer self); -static void _page_unref0_ (gpointer var); -static void _page_view_unref0_ (gpointer var); static gboolean book_view_configure_cb (BookView* self, GtkWidget* widget, GdkEventConfigure* event); static gboolean _book_view_configure_cb_gtk_widget_configure_event (GtkWidget* _sender, GdkEventConfigure* event, gpointer self); static gboolean book_view_draw_cb (BookView* self, GtkWidget* widget, cairo_t* context); @@ -151,6 +144,13 @@ static gboolean _book_view_focus_cb_gtk_widget_focus_out_event (GtkWidget* _sender, GdkEventFocus* event, gpointer self); static void book_view_scroll_cb (BookView* self, GtkAdjustment* adjustment); static void _book_view_scroll_cb_gtk_adjustment_value_changed (GtkAdjustment* _sender, gpointer self); +BookView* book_view_new (Book* book); +BookView* book_view_construct (GType object_type, Book* book); +guint book_get_n_pages (Book* self); +Page* book_get_page (Book* self, gint page_number); +void book_view_select_page (BookView* self, Page* page); +static void _page_unref0_ (gpointer var); +static void _page_view_unref0_ (gpointer var); static PageView* book_view_get_nth_page (BookView* self, gint n); static PageView* book_view_get_next_page (BookView* self, PageView* page); Page* page_view_get_page (PageView* self); @@ -197,11 +197,6 @@ static void book_view_finalize (GObject* obj); -static gpointer _book_ref0 (gpointer self) { - return self ? book_ref (self) : NULL; -} - - static void _book_view_add_cb_book_page_added (Book* _sender, Page* page, gpointer self) { book_view_add_cb (self, _sender, page); } @@ -222,21 +217,6 @@ } -static void _page_unref0_ (gpointer var) { - (var == NULL) ? NULL : (var = (page_unref (var), NULL)); -} - - -static void _page_view_unref0_ (gpointer var) { - (var == NULL) ? NULL : (var = (page_view_unref (var), NULL)); -} - - -static gpointer _g_object_ref0 (gpointer self) { - return self ? g_object_ref (self) : NULL; -} - - static gboolean _book_view_configure_cb_gtk_widget_configure_event (GtkWidget* _sender, GdkEventConfigure* event, gpointer self) { gboolean result; result = book_view_configure_cb (self, _sender, event); @@ -298,6 +278,26 @@ } +static gpointer _book_ref0 (gpointer self) { + return self ? book_ref (self) : NULL; +} + + +static void _page_unref0_ (gpointer var) { + (var == NULL) ? NULL : (var = (page_unref (var), NULL)); +} + + +static void _page_view_unref0_ (gpointer var) { + (var == NULL) ? NULL : (var = (page_view_unref (var), NULL)); +} + + +static gpointer _g_object_ref0 (gpointer self) { + return self ? g_object_ref (self) : NULL; +} + + BookView* book_view_construct (GType object_type, Book* book) { BookView * self = NULL; Book* _tmp0_; @@ -317,23 +317,21 @@ GtkWidget* _tmp25_; GtkWidget* _tmp26_; GtkWidget* _tmp27_; - GtkWidget* _tmp28_; + GtkScrollbar* _tmp28_; GtkScrollbar* _tmp29_; - GtkScrollbar* _tmp30_; - GtkScrollbar* _tmp31_; - GtkAdjustment* _tmp32_ = NULL; - GtkAdjustment* _tmp33_; - GtkScrollbar* _tmp34_; + GtkAdjustment* _tmp30_ = NULL; + GtkAdjustment* _tmp31_; + GtkScrollbar* _tmp32_; + GtkWidget* _tmp33_; + GtkWidget* _tmp34_; GtkWidget* _tmp35_; GtkWidget* _tmp36_; GtkWidget* _tmp37_; GtkWidget* _tmp38_; GtkWidget* _tmp39_; GtkWidget* _tmp40_; - GtkWidget* _tmp41_; + GtkAdjustment* _tmp41_; GtkWidget* _tmp42_; - GtkAdjustment* _tmp43_; - GtkWidget* _tmp44_; g_return_val_if_fail (book != NULL, NULL); self = (BookView*) g_object_new (object_type, NULL); _tmp0_ = book; @@ -402,48 +400,48 @@ self->priv->page_data = _tmp22_; self->priv->cursor = GDK_ARROW; _tmp23_ = (GtkDrawingArea*) gtk_drawing_area_new (); - _tmp24_ = (GtkWidget*) g_object_ref_sink (_tmp23_); + g_object_ref_sink (_tmp23_); _g_object_unref0 (self->priv->drawing_area); - self->priv->drawing_area = _tmp24_; + self->priv->drawing_area = (GtkWidget*) _tmp23_; + _tmp24_ = self->priv->drawing_area; + gtk_widget_set_size_request (_tmp24_, 200, 100); _tmp25_ = self->priv->drawing_area; - gtk_widget_set_size_request (_tmp25_, 200, 100); + gtk_widget_set_can_focus (_tmp25_, TRUE); _tmp26_ = self->priv->drawing_area; - gtk_widget_set_can_focus (_tmp26_, TRUE); + gtk_widget_set_events (_tmp26_, (gint) (((((GDK_POINTER_MOTION_MASK | GDK_BUTTON_PRESS_MASK) | GDK_BUTTON_RELEASE_MASK) | GDK_FOCUS_CHANGE_MASK) | GDK_STRUCTURE_MASK) | GDK_SCROLL_MASK)); _tmp27_ = self->priv->drawing_area; - gtk_widget_set_events (_tmp27_, (gint) (((((GDK_POINTER_MOTION_MASK | GDK_BUTTON_PRESS_MASK) | GDK_BUTTON_RELEASE_MASK) | GDK_FOCUS_CHANGE_MASK) | GDK_STRUCTURE_MASK) | GDK_SCROLL_MASK)); - _tmp28_ = self->priv->drawing_area; - gtk_box_pack_start ((GtkBox*) self, _tmp28_, TRUE, TRUE, (guint) 0); - _tmp29_ = (GtkScrollbar*) gtk_scrollbar_new (GTK_ORIENTATION_HORIZONTAL, NULL); - _tmp30_ = g_object_ref_sink (_tmp29_); + gtk_box_pack_start ((GtkBox*) self, _tmp27_, TRUE, TRUE, (guint) 0); + _tmp28_ = (GtkScrollbar*) gtk_scrollbar_new (GTK_ORIENTATION_HORIZONTAL, NULL); + g_object_ref_sink (_tmp28_); _g_object_unref0 (self->priv->scroll); - self->priv->scroll = _tmp30_; - _tmp31_ = self->priv->scroll; - _tmp32_ = gtk_range_get_adjustment ((GtkRange*) _tmp31_); - _tmp33_ = _g_object_ref0 (_tmp32_); + self->priv->scroll = _tmp28_; + _tmp29_ = self->priv->scroll; + _tmp30_ = gtk_range_get_adjustment ((GtkRange*) _tmp29_); + _tmp31_ = _g_object_ref0 (_tmp30_); _g_object_unref0 (self->priv->adjustment); - self->priv->adjustment = _tmp33_; - _tmp34_ = self->priv->scroll; - gtk_box_pack_start ((GtkBox*) self, (GtkWidget*) _tmp34_, FALSE, TRUE, (guint) 0); + self->priv->adjustment = _tmp31_; + _tmp32_ = self->priv->scroll; + gtk_box_pack_start ((GtkBox*) self, (GtkWidget*) _tmp32_, FALSE, TRUE, (guint) 0); + _tmp33_ = self->priv->drawing_area; + g_signal_connect_object (_tmp33_, "configure-event", (GCallback) _book_view_configure_cb_gtk_widget_configure_event, self, 0); + _tmp34_ = self->priv->drawing_area; + g_signal_connect_object (_tmp34_, "draw", (GCallback) _book_view_draw_cb_gtk_widget_draw, self, 0); _tmp35_ = self->priv->drawing_area; - g_signal_connect_object (_tmp35_, "configure-event", (GCallback) _book_view_configure_cb_gtk_widget_configure_event, self, 0); + g_signal_connect_object (_tmp35_, "motion-notify-event", (GCallback) _book_view_motion_cb_gtk_widget_motion_notify_event, self, 0); _tmp36_ = self->priv->drawing_area; - g_signal_connect_object (_tmp36_, "draw", (GCallback) _book_view_draw_cb_gtk_widget_draw, self, 0); + g_signal_connect_object (_tmp36_, "key-press-event", (GCallback) _book_view_key_cb_gtk_widget_key_press_event, self, 0); _tmp37_ = self->priv->drawing_area; - g_signal_connect_object (_tmp37_, "motion-notify-event", (GCallback) _book_view_motion_cb_gtk_widget_motion_notify_event, self, 0); + g_signal_connect_object (_tmp37_, "button-press-event", (GCallback) _book_view_button_cb_gtk_widget_button_press_event, self, 0); _tmp38_ = self->priv->drawing_area; - g_signal_connect_object (_tmp38_, "key-press-event", (GCallback) _book_view_key_cb_gtk_widget_key_press_event, self, 0); + g_signal_connect_object (_tmp38_, "button-release-event", (GCallback) _book_view_button_cb_gtk_widget_button_release_event, self, 0); _tmp39_ = self->priv->drawing_area; - g_signal_connect_object (_tmp39_, "button-press-event", (GCallback) _book_view_button_cb_gtk_widget_button_press_event, self, 0); + g_signal_connect_object (_tmp39_, "focus-in-event", (GCallback) _book_view_focus_cb_gtk_widget_focus_in_event, self, G_CONNECT_AFTER); _tmp40_ = self->priv->drawing_area; - g_signal_connect_object (_tmp40_, "button-release-event", (GCallback) _book_view_button_cb_gtk_widget_button_release_event, self, 0); - _tmp41_ = self->priv->drawing_area; - g_signal_connect_object (_tmp41_, "focus-in-event", (GCallback) _book_view_focus_cb_gtk_widget_focus_in_event, self, G_CONNECT_AFTER); + g_signal_connect_object (_tmp40_, "focus-out-event", (GCallback) _book_view_focus_cb_gtk_widget_focus_out_event, self, G_CONNECT_AFTER); + _tmp41_ = self->priv->adjustment; + g_signal_connect_object (_tmp41_, "value-changed", (GCallback) _book_view_scroll_cb_gtk_adjustment_value_changed, self, 0); _tmp42_ = self->priv->drawing_area; - g_signal_connect_object (_tmp42_, "focus-out-event", (GCallback) _book_view_focus_cb_gtk_widget_focus_out_event, self, G_CONNECT_AFTER); - _tmp43_ = self->priv->adjustment; - g_signal_connect_object (_tmp43_, "value-changed", (GCallback) _book_view_scroll_cb_gtk_adjustment_value_changed, self, 0); - _tmp44_ = self->priv->drawing_area; - gtk_widget_show (_tmp44_); + gtk_widget_show (_tmp42_); return self; } @@ -893,7 +891,14 @@ gboolean _tmp5_; GHashTable* _tmp12_; Page* _tmp13_; - PageView* _tmp14_; + gconstpointer _tmp14_ = NULL; + PageView* _tmp15_; + PageView* page_view; + guint _tmp16_ = 0U; + guint _tmp17_ = 0U; + GHashTable* _tmp18_; + Page* _tmp19_; + PageView* _tmp20_; g_return_if_fail (self != NULL); g_return_if_fail (book != NULL); g_return_if_fail (page != NULL); @@ -929,11 +934,21 @@ } _tmp12_ = self->priv->page_data; _tmp13_ = page; - g_hash_table_remove (_tmp12_, _tmp13_); - _tmp14_ = new_selection; - book_view_select_page_view (self, _tmp14_); + _tmp14_ = g_hash_table_lookup (_tmp12_, _tmp13_); + _tmp15_ = _page_view_ref0 ((PageView*) _tmp14_); + page_view = _tmp15_; + g_signal_parse_name ("changed", TYPE_PAGE_VIEW, &_tmp16_, NULL, FALSE); + g_signal_handlers_disconnect_matched (page_view, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp16_, 0, NULL, (GCallback) _book_view_page_view_changed_cb_page_view_changed, self); + g_signal_parse_name ("size-changed", TYPE_PAGE_VIEW, &_tmp17_, NULL, FALSE); + g_signal_handlers_disconnect_matched (page_view, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp17_, 0, NULL, (GCallback) _book_view_page_view_size_changed_cb_page_view_size_changed, self); + _tmp18_ = self->priv->page_data; + _tmp19_ = page; + g_hash_table_remove (_tmp18_, _tmp19_); + _tmp20_ = new_selection; + book_view_select_page_view (self, _tmp20_); self->priv->need_layout = TRUE; book_view_redraw (self); + _page_view_unref0 (page_view); _page_view_unref0 (new_selection); } @@ -2253,7 +2268,72 @@ static void book_view_finalize (GObject* obj) { BookView * self; - self = BOOK_VIEW (obj); + Book* _tmp0_; + guint _tmp1_ = 0U; + Book* _tmp2_; + guint _tmp3_ = 0U; + Book* _tmp4_; + guint _tmp5_ = 0U; + Book* _tmp6_; + guint _tmp7_ = 0U; + GtkWidget* _tmp8_; + guint _tmp9_ = 0U; + GtkWidget* _tmp10_; + guint _tmp11_ = 0U; + GtkWidget* _tmp12_; + guint _tmp13_ = 0U; + GtkWidget* _tmp14_; + guint _tmp15_ = 0U; + GtkWidget* _tmp16_; + guint _tmp17_ = 0U; + GtkWidget* _tmp18_; + guint _tmp19_ = 0U; + GtkWidget* _tmp20_; + guint _tmp21_ = 0U; + GtkWidget* _tmp22_; + guint _tmp23_ = 0U; + GtkAdjustment* _tmp24_; + guint _tmp25_ = 0U; + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_BOOK_VIEW, BookView); + _tmp0_ = self->priv->book; + g_signal_parse_name ("page-added", TYPE_BOOK, &_tmp1_, NULL, FALSE); + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _book_view_add_cb_book_page_added, self); + _tmp2_ = self->priv->book; + g_signal_parse_name ("page-removed", TYPE_BOOK, &_tmp3_, NULL, FALSE); + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _book_view_remove_cb_book_page_removed, self); + _tmp4_ = self->priv->book; + g_signal_parse_name ("reordered", TYPE_BOOK, &_tmp5_, NULL, FALSE); + g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _book_view_reorder_cb_book_reordered, self); + _tmp6_ = self->priv->book; + g_signal_parse_name ("cleared", TYPE_BOOK, &_tmp7_, NULL, FALSE); + g_signal_handlers_disconnect_matched (_tmp6_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 0, NULL, (GCallback) _book_view_clear_cb_book_cleared, self); + _tmp8_ = self->priv->drawing_area; + g_signal_parse_name ("configure-event", GTK_TYPE_WIDGET, &_tmp9_, NULL, FALSE); + g_signal_handlers_disconnect_matched (_tmp8_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp9_, 0, NULL, (GCallback) _book_view_configure_cb_gtk_widget_configure_event, self); + _tmp10_ = self->priv->drawing_area; + g_signal_parse_name ("draw", GTK_TYPE_WIDGET, &_tmp11_, NULL, FALSE); + g_signal_handlers_disconnect_matched (_tmp10_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp11_, 0, NULL, (GCallback) _book_view_draw_cb_gtk_widget_draw, self); + _tmp12_ = self->priv->drawing_area; + g_signal_parse_name ("motion-notify-event", GTK_TYPE_WIDGET, &_tmp13_, NULL, FALSE); + g_signal_handlers_disconnect_matched (_tmp12_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp13_, 0, NULL, (GCallback) _book_view_motion_cb_gtk_widget_motion_notify_event, self); + _tmp14_ = self->priv->drawing_area; + g_signal_parse_name ("key-press-event", GTK_TYPE_WIDGET, &_tmp15_, NULL, FALSE); + g_signal_handlers_disconnect_matched (_tmp14_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp15_, 0, NULL, (GCallback) _book_view_key_cb_gtk_widget_key_press_event, self); + _tmp16_ = self->priv->drawing_area; + g_signal_parse_name ("button-press-event", GTK_TYPE_WIDGET, &_tmp17_, NULL, FALSE); + g_signal_handlers_disconnect_matched (_tmp16_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp17_, 0, NULL, (GCallback) _book_view_button_cb_gtk_widget_button_press_event, self); + _tmp18_ = self->priv->drawing_area; + g_signal_parse_name ("button-release-event", GTK_TYPE_WIDGET, &_tmp19_, NULL, FALSE); + g_signal_handlers_disconnect_matched (_tmp18_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp19_, 0, NULL, (GCallback) _book_view_button_cb_gtk_widget_button_release_event, self); + _tmp20_ = self->priv->drawing_area; + g_signal_parse_name ("focus-in-event", GTK_TYPE_WIDGET, &_tmp21_, NULL, FALSE); + g_signal_handlers_disconnect_matched (_tmp20_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp21_, 0, NULL, (GCallback) _book_view_focus_cb_gtk_widget_focus_in_event, self); + _tmp22_ = self->priv->drawing_area; + g_signal_parse_name ("focus-out-event", GTK_TYPE_WIDGET, &_tmp23_, NULL, FALSE); + g_signal_handlers_disconnect_matched (_tmp22_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp23_, 0, NULL, (GCallback) _book_view_focus_cb_gtk_widget_focus_out_event, self); + _tmp24_ = self->priv->adjustment; + g_signal_parse_name ("value-changed", GTK_TYPE_ADJUSTMENT, &_tmp25_, NULL, FALSE); + g_signal_handlers_disconnect_matched (_tmp24_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp25_, 0, NULL, (GCallback) _book_view_scroll_cb_gtk_adjustment_value_changed, self); _book_unref0 (self->priv->book); _g_hash_table_unref0 (self->priv->page_data); _page_view_unref0 (self->priv->selected_page); diff -Nru simple-scan-3.4.1/src/book-view.vala simple-scan-3.4.3/src/book-view.vala --- simple-scan-3.4.1/src/book-view.vala 2012-04-17 06:10:02.000000000 +0000 +++ simple-scan-3.4.3/src/book-view.vala 2013-03-21 20:36:18.000000000 +0000 @@ -85,6 +85,23 @@ drawing_area.show (); } + ~BookView () + { + book.page_added.disconnect (add_cb); + book.page_removed.disconnect (remove_cb); + book.reordered.disconnect (reorder_cb); + book.cleared.disconnect (clear_cb); + drawing_area.configure_event.disconnect (configure_cb); + drawing_area.draw.disconnect (draw_cb); + drawing_area.motion_notify_event.disconnect (motion_cb); + drawing_area.key_press_event.disconnect (key_cb); + drawing_area.button_press_event.disconnect (button_cb); + drawing_area.button_release_event.disconnect (button_cb); + drawing_area.focus_in_event.disconnect (focus_cb); + drawing_area.focus_out_event.disconnect (focus_cb); + adjustment.value_changed.disconnect (scroll_cb); + } + private PageView get_nth_page (int n) { Page page = book.get_page (n); @@ -221,6 +238,9 @@ selected_page = null; } + var page_view = page_data.lookup (page); + page_view.changed.disconnect (page_view_changed_cb); + page_view.size_changed.disconnect (page_view_size_changed_cb); page_data.remove (page); select_page_view (new_selection); diff -Nru simple-scan-3.4.1/src/book.c simple-scan-3.4.3/src/book.c --- simple-scan-3.4.1/src/book.c 2012-04-17 06:15:20.000000000 +0000 +++ simple-scan-3.4.3/src/book.c 2013-03-21 20:42:57.000000000 +0000 @@ -1,4 +1,4 @@ -/* book.c generated by valac 0.16.0, the Vala compiler +/* book.c generated by valac 0.18.1, the Vala compiler * generated from book.vala, do not modify */ /* @@ -49,10 +49,10 @@ typedef struct _Page Page; typedef struct _PageClass PageClass; +#define _page_unref0(var) ((var == NULL) ? NULL : (var = (page_unref (var), NULL))) #define __g_list_free__page_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__page_unref0_ (var), NULL))) #define TYPE_SCAN_DIRECTION (scan_direction_get_type ()) -#define _page_unref0(var) ((var == NULL) ? NULL : (var = (page_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _cairo_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_destroy (var), NULL))) @@ -175,19 +175,19 @@ enum { BOOK_DUMMY_PROPERTY }; +static void book_page_changed_cb (Book* self, Page* page); +static void _book_page_changed_cb_page_pixels_changed (Page* _sender, gpointer self); +static void _book_page_changed_cb_page_crop_changed (Page* _sender, gpointer self); static void _page_unref0_ (gpointer var); static void _g_list_free__page_unref0_ (GList* self); Book* book_new (void); Book* book_construct (GType object_type); void book_clear (Book* self); -static void book_page_changed_cb (Book* self, Page* page); void book_set_needs_saving (Book* self, gboolean needs_saving); GType scan_direction_get_type (void) G_GNUC_CONST; Page* book_append_page (Book* self, gint width, gint height, gint dpi, ScanDirection scan_direction); Page* page_new (gint width, gint height, gint dpi, ScanDirection scan_direction); Page* page_construct (GType object_type, gint width, gint height, gint dpi, ScanDirection scan_direction); -static void _book_page_changed_cb_page_pixels_changed (Page* _sender, gpointer self); -static void _book_page_changed_cb_page_crop_changed (Page* _sender, gpointer self); void book_move_page (Book* self, Page* page, guint location); void book_delete_page (Book* self, Page* page); guint book_get_n_pages (Book* self); @@ -251,6 +251,21 @@ static void ps_writer_finalize (PsWriter* obj); +static gpointer _page_ref0 (gpointer self) { + return self ? page_ref (self) : NULL; +} + + +static void _book_page_changed_cb_page_pixels_changed (Page* _sender, gpointer self) { + book_page_changed_cb (self, _sender); +} + + +static void _book_page_changed_cb_page_crop_changed (Page* _sender, gpointer self) { + book_page_changed_cb (self, _sender); +} + + static void _page_unref0_ (gpointer var) { (var == NULL) ? NULL : (var = (page_unref (var), NULL)); } @@ -265,6 +280,8 @@ Book* book_construct (GType object_type) { Book* self = NULL; self = (Book*) g_type_create_instance (object_type); + __g_list_free__page_unref0_0 (self->priv->pages); + self->priv->pages = NULL; return self; } @@ -275,7 +292,33 @@ void book_clear (Book* self) { + GList* _tmp0_; g_return_if_fail (self != NULL); + _tmp0_ = self->priv->pages; + { + GList* page_collection = NULL; + GList* page_it = NULL; + page_collection = _tmp0_; + for (page_it = page_collection; page_it != NULL; page_it = page_it->next) { + Page* _tmp1_; + Page* page = NULL; + _tmp1_ = _page_ref0 ((Page*) page_it->data); + page = _tmp1_; + { + Page* _tmp2_; + guint _tmp3_ = 0U; + Page* _tmp4_; + guint _tmp5_ = 0U; + _tmp2_ = page; + g_signal_parse_name ("pixels-changed", TYPE_PAGE, &_tmp3_, NULL, FALSE); + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _book_page_changed_cb_page_pixels_changed, self); + _tmp4_ = page; + g_signal_parse_name ("crop-changed", TYPE_PAGE, &_tmp5_, NULL, FALSE); + g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _book_page_changed_cb_page_crop_changed, self); + _page_unref0 (page); + } + } + } __g_list_free__page_unref0_0 (self->priv->pages); self->priv->pages = NULL; g_signal_emit_by_name (self, "cleared"); @@ -289,21 +332,6 @@ } -static void _book_page_changed_cb_page_pixels_changed (Page* _sender, gpointer self) { - book_page_changed_cb (self, _sender); -} - - -static void _book_page_changed_cb_page_crop_changed (Page* _sender, gpointer self) { - book_page_changed_cb (self, _sender); -} - - -static gpointer _page_ref0 (gpointer self) { - return self ? page_ref (self) : NULL; -} - - Page* book_append_page (Book* self, gint width, gint height, gint dpi, ScanDirection scan_direction) { Page* result = NULL; gint _tmp0_; @@ -2372,7 +2400,7 @@ offset_collection = _tmp372_; for (offset_it = offset_collection; offset_it != NULL; offset_it = offset_it->next) { guint offset = 0U; - offset = GPOINTER_TO_UINT (offset_it->data); + offset = (guint) ((guintptr) offset_it->data); { PDFWriter* _tmp373_; guint _tmp374_; @@ -2694,7 +2722,33 @@ static void book_finalize (Book* obj) { Book * self; - self = BOOK (obj); + GList* _tmp0_; + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_BOOK, Book); + _tmp0_ = self->priv->pages; + { + GList* page_collection = NULL; + GList* page_it = NULL; + page_collection = _tmp0_; + for (page_it = page_collection; page_it != NULL; page_it = page_it->next) { + Page* _tmp1_; + Page* page = NULL; + _tmp1_ = _page_ref0 ((Page*) page_it->data); + page = _tmp1_; + { + Page* _tmp2_; + guint _tmp3_ = 0U; + Page* _tmp4_; + guint _tmp5_ = 0U; + _tmp2_ = page; + g_signal_parse_name ("pixels-changed", TYPE_PAGE, &_tmp3_, NULL, FALSE); + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _book_page_changed_cb_page_pixels_changed, self); + _tmp4_ = page; + g_signal_parse_name ("crop-changed", TYPE_PAGE, &_tmp5_, NULL, FALSE); + g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _book_page_changed_cb_page_crop_changed, self); + _page_unref0 (page); + } + } + } __g_list_free__page_unref0_0 (self->priv->pages); } @@ -2783,7 +2837,7 @@ _inner_error_ = NULL; _tmp2_ = e; _tmp3_ = _tmp2_->message; - g_warning ("book.vala:538: Error writing PDF: %s", _tmp3_); + g_warning ("book.vala:553: Error writing PDF: %s", _tmp3_); _g_error_free0 (e); } __finally0: @@ -2849,8 +2903,8 @@ _tmp0_ = text; _tmp2_ = string_to_utf8 (_tmp0_, &_tmp1_); _tmp3_ = (guint8*) _tmp2_; - _tmp3__length1 = _tmp1_; - pdf_writer_write (self, _tmp3_, _tmp1_); + _tmp3__length1 = (_tmp1_ * sizeof (gchar)) / sizeof (guint8); + pdf_writer_write (self, _tmp3_, (_tmp1_ * sizeof (gchar)) / sizeof (guint8)); _tmp3_ = (g_free (_tmp3_), NULL); } @@ -2862,7 +2916,7 @@ guint _tmp2_ = 0U; g_return_val_if_fail (self != NULL, 0U); _tmp0_ = self->offset; - self->object_offsets = g_list_append (self->object_offsets, GUINT_TO_POINTER ((guint) _tmp0_)); + self->object_offsets = g_list_append (self->object_offsets, (gpointer) ((guintptr) ((guint) _tmp0_))); _tmp1_ = self->object_offsets; _tmp2_ = g_list_length (_tmp1_); result = _tmp2_; @@ -2996,7 +3050,7 @@ static void pdf_writer_finalize (PDFWriter* obj) { PDFWriter * self; - self = PDF_WRITER (obj); + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PDF_WRITER, PDFWriter); _g_list_free0 (self->object_offsets); _g_object_unref0 (self->priv->stream); } @@ -3090,7 +3144,7 @@ _inner_error_ = NULL; _tmp2_ = e; _tmp3_ = _tmp2_->message; - g_warning ("book.vala:574: Error writing data: %s", _tmp3_); + g_warning ("book.vala:589: Error writing data: %s", _tmp3_); result = CAIRO_STATUS_WRITE_ERROR; _g_error_free0 (e); return result; @@ -3229,7 +3283,7 @@ static void ps_writer_finalize (PsWriter* obj) { PsWriter * self; - self = PS_WRITER (obj); + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PS_WRITER, PsWriter); _cairo_surface_destroy0 (self->surface); _g_object_unref0 (self->stream); } diff -Nru simple-scan-3.4.1/src/book.vala simple-scan-3.4.3/src/book.vala --- simple-scan-3.4.1/src/book.vala 2012-04-17 06:15:19.000000000 +0000 +++ simple-scan-3.4.3/src/book.vala 2013-03-21 20:36:18.000000000 +0000 @@ -23,10 +23,25 @@ public Book () { + pages = new List (); + } + + ~Book () + { + foreach (var page in pages) + { + page.pixels_changed.disconnect (page_changed_cb); + page.crop_changed.disconnect (page_changed_cb); + } } public void clear () { + foreach (var page in pages) + { + page.pixels_changed.disconnect (page_changed_cb); + page.crop_changed.disconnect (page_changed_cb); + } pages = null; cleared (); } diff -Nru simple-scan-3.4.1/src/page-view.c simple-scan-3.4.3/src/page-view.c --- simple-scan-3.4.1/src/page-view.c 2012-04-17 06:15:21.000000000 +0000 +++ simple-scan-3.4.3/src/page-view.c 2013-03-21 20:42:57.000000000 +0000 @@ -1,4 +1,4 @@ -/* page-view.c generated by valac 0.16.0, the Vala compiler +/* page-view.c generated by valac 0.18.1, the Vala compiler * generated from page-view.vala, do not modify */ /* @@ -136,8 +136,6 @@ enum { PAGE_VIEW_DUMMY_PROPERTY }; -PageView* page_view_new (Page* page); -PageView* page_view_construct (GType object_type, Page* page); static void page_view_page_pixels_changed_cb (PageView* self, Page* p); static void _page_view_page_pixels_changed_cb_page_pixels_changed (Page* _sender, gpointer self); static void page_view_page_size_changed_cb (PageView* self, Page* p); @@ -147,6 +145,8 @@ static void _page_view_page_overlay_changed_cb_page_scan_line_changed (Page* _sender, gpointer self); static void page_view_scan_direction_changed_cb (PageView* self, Page* p); static void _page_view_scan_direction_changed_cb_page_scan_direction_changed (Page* _sender, gpointer self); +PageView* page_view_new (Page* page); +PageView* page_view_construct (GType object_type, Page* page); Page* page_view_get_page (PageView* self); void page_view_set_selected (PageView* self, gboolean selected); gboolean page_view_get_selected (PageView* self); @@ -210,11 +210,6 @@ } -static gpointer _page_ref0 (gpointer self) { - return self ? page_ref (self) : NULL; -} - - static void _page_view_page_pixels_changed_cb_page_pixels_changed (Page* _sender, gpointer self) { page_view_page_pixels_changed_cb (self, _sender); } @@ -240,6 +235,11 @@ } +static gpointer _page_ref0 (gpointer self) { + return self ? page_ref (self) : NULL; +} + + PageView* page_view_construct (GType object_type, Page* page) { PageView* self = NULL; Page* _tmp0_; @@ -4240,7 +4240,32 @@ static void page_view_finalize (PageView* obj) { PageView * self; - self = PAGE_VIEW (obj); + Page* _tmp0_; + guint _tmp1_ = 0U; + Page* _tmp2_; + guint _tmp3_ = 0U; + Page* _tmp4_; + guint _tmp5_ = 0U; + Page* _tmp6_; + guint _tmp7_ = 0U; + Page* _tmp8_; + guint _tmp9_ = 0U; + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PAGE_VIEW, PageView); + _tmp0_ = self->priv->page; + g_signal_parse_name ("pixels-changed", TYPE_PAGE, &_tmp1_, NULL, FALSE); + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _page_view_page_pixels_changed_cb_page_pixels_changed, self); + _tmp2_ = self->priv->page; + g_signal_parse_name ("size-changed", TYPE_PAGE, &_tmp3_, NULL, FALSE); + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _page_view_page_size_changed_cb_page_size_changed, self); + _tmp4_ = self->priv->page; + g_signal_parse_name ("crop-changed", TYPE_PAGE, &_tmp5_, NULL, FALSE); + g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _page_view_page_overlay_changed_cb_page_crop_changed, self); + _tmp6_ = self->priv->page; + g_signal_parse_name ("scan-line-changed", TYPE_PAGE, &_tmp7_, NULL, FALSE); + g_signal_handlers_disconnect_matched (_tmp6_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 0, NULL, (GCallback) _page_view_page_overlay_changed_cb_page_scan_line_changed, self); + _tmp8_ = self->priv->page; + g_signal_parse_name ("scan-direction-changed", TYPE_PAGE, &_tmp9_, NULL, FALSE); + g_signal_handlers_disconnect_matched (_tmp8_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp9_, 0, NULL, (GCallback) _page_view_scan_direction_changed_cb_page_scan_direction_changed, self); _page_unref0 (self->priv->page); _g_object_unref0 (self->priv->image); } diff -Nru simple-scan-3.4.1/src/page-view.vala simple-scan-3.4.3/src/page-view.vala --- simple-scan-3.4.1/src/page-view.vala 2012-04-17 06:10:02.000000000 +0000 +++ simple-scan-3.4.3/src/page-view.vala 2013-03-21 20:36:18.000000000 +0000 @@ -80,6 +80,15 @@ page.scan_direction_changed.connect (scan_direction_changed_cb); } + ~PageView () + { + page.pixels_changed.disconnect (page_pixels_changed_cb); + page.size_changed.disconnect (page_size_changed_cb); + page.crop_changed.disconnect (page_overlay_changed_cb); + page.scan_line_changed.disconnect (page_overlay_changed_cb); + page.scan_direction_changed.disconnect (scan_direction_changed_cb); + } + public Page get_page () { return page; diff -Nru simple-scan-3.4.1/src/page.c simple-scan-3.4.3/src/page.c --- simple-scan-3.4.1/src/page.c 2012-04-17 06:15:20.000000000 +0000 +++ simple-scan-3.4.3/src/page.c 2013-03-21 20:42:57.000000000 +0000 @@ -1,4 +1,4 @@ -/* page.c generated by valac 0.16.0, the Vala compiler +/* page.c generated by valac 0.18.1, the Vala compiler * generated from page.vala, do not modify */ /* @@ -2152,8 +2152,8 @@ _tmp4_ = contents; _tmp6_ = string_to_utf8 (_tmp4_, &_tmp5_); _tmp7_ = (guchar*) _tmp6_; - _tmp7__length1 = _tmp5_; - _tmp8_ = g_base64_encode (_tmp7_, _tmp5_); + _tmp7__length1 = (_tmp5_ * sizeof (gchar)) / sizeof (guchar); + _tmp8_ = g_base64_encode (_tmp7_, (_tmp5_ * sizeof (gchar)) / sizeof (guchar)); _tmp9_ = _tmp8_; _tmp7_ = (g_free (_tmp7_), NULL); result = _tmp9_; @@ -2545,7 +2545,7 @@ static void page_finalize (Page* obj) { Page * self; - self = PAGE (obj); + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PAGE, Page); _g_free0 (self->priv->color_profile); self->priv->pixels = (g_free (self->priv->pixels), NULL); _g_free0 (self->priv->crop_name); @@ -2783,7 +2783,7 @@ static void pixbuf_writer_finalize (PixbufWriter* obj) { PixbufWriter * self; - self = PIXBUF_WRITER (obj); + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PIXBUF_WRITER, PixbufWriter); _g_object_unref0 (self->stream); } diff -Nru simple-scan-3.4.1/src/scanner.c simple-scan-3.4.3/src/scanner.c --- simple-scan-3.4.1/src/scanner.c 2012-04-17 06:15:21.000000000 +0000 +++ simple-scan-3.4.3/src/scanner.c 2013-03-21 20:42:57.000000000 +0000 @@ -1,4 +1,4 @@ -/* scanner.c generated by valac 0.16.0, the Vala compiler +/* scanner.c generated by valac 0.18.1, the Vala compiler * generated from scanner.vala, do not modify */ /* @@ -261,6 +261,7 @@ typedef struct _NotifyGotPageInfoClass NotifyGotPageInfoClass; typedef struct _NotifyGotPageInfoPrivate NotifyGotPageInfoPrivate; #define _scan_page_info_unref0(var) ((var == NULL) ? NULL : (var = (scan_page_info_unref (var), NULL))) +typedef struct _ScannerPrivate ScannerPrivate; #define TYPE_NOTIFY_PAGE_DONE (notify_page_done_get_type ()) #define NOTIFY_PAGE_DONE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NOTIFY_PAGE_DONE, NotifyPageDone)) @@ -284,7 +285,6 @@ typedef struct _NotifyGotLineClass NotifyGotLineClass; typedef struct _NotifyGotLinePrivate NotifyGotLinePrivate; #define _scan_line_unref0(var) ((var == NULL) ? NULL : (var = (scan_line_unref (var), NULL))) -typedef struct _ScannerPrivate ScannerPrivate; #define _g_async_queue_unref0(var) ((var == NULL) ? NULL : (var = (g_async_queue_unref (var), NULL))) #define __g_list_free__scan_job_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__scan_job_unref0_ (var), NULL))) #define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL))) @@ -397,6 +397,7 @@ GTypeInstance parent_instance; volatile int ref_count; ScanJobPrivate * priv; + gint id; gchar* device; gdouble dpi; ScanMode scan_mode; @@ -587,9 +588,23 @@ }; struct _NotifyGotPageInfoPrivate { + gint job_id; ScanPageInfo* info; }; +struct _Scanner { + GTypeInstance parent_instance; + volatile int ref_count; + ScannerPrivate * priv; + gint first_job_id; + gint job_id; +}; + +struct _ScannerClass { + GTypeClass parent_class; + void (*finalize) (Scanner *self); +}; + struct _NotifyPageDone { Notify parent_instance; NotifyPageDonePrivate * priv; @@ -599,6 +614,10 @@ NotifyClass parent_class; }; +struct _NotifyPageDonePrivate { + gint job_id; +}; + struct _NotifyGotLine { Notify parent_instance; NotifyGotLinePrivate * priv; @@ -609,20 +628,10 @@ }; struct _NotifyGotLinePrivate { + gint job_id; ScanLine* line; }; -struct _Scanner { - GTypeInstance parent_instance; - volatile int ref_count; - ScannerPrivate * priv; -}; - -struct _ScannerClass { - GTypeClass parent_class; - void (*finalize) (Scanner *self); -}; - struct _ScannerPrivate { GThread* thread; GAsyncQueue* request_queue; @@ -875,24 +884,26 @@ enum { NOTIFY_GOT_PAGE_INFO_DUMMY_PROPERTY }; -NotifyGotPageInfo* notify_got_page_info_new (ScanPageInfo* info); -NotifyGotPageInfo* notify_got_page_info_construct (GType object_type, ScanPageInfo* info); +NotifyGotPageInfo* notify_got_page_info_new (gint job_id, ScanPageInfo* info); +NotifyGotPageInfo* notify_got_page_info_construct (GType object_type, gint job_id, ScanPageInfo* info); static void notify_got_page_info_real_run (Notify* base, Scanner* scanner); static void notify_got_page_info_finalize (Notify* obj); GType notify_page_done_get_type (void) G_GNUC_CONST; +#define NOTIFY_PAGE_DONE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_NOTIFY_PAGE_DONE, NotifyPageDonePrivate)) enum { NOTIFY_PAGE_DONE_DUMMY_PROPERTY }; +NotifyPageDone* notify_page_done_new (gint job_id); +NotifyPageDone* notify_page_done_construct (GType object_type, gint job_id); static void notify_page_done_real_run (Notify* base, Scanner* scanner); -NotifyPageDone* notify_page_done_new (void); -NotifyPageDone* notify_page_done_construct (GType object_type); +static void notify_page_done_finalize (Notify* obj); GType notify_got_line_get_type (void) G_GNUC_CONST; #define NOTIFY_GOT_LINE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_NOTIFY_GOT_LINE, NotifyGotLinePrivate)) enum { NOTIFY_GOT_LINE_DUMMY_PROPERTY }; -NotifyGotLine* notify_got_line_new (ScanLine* line); -NotifyGotLine* notify_got_line_construct (GType object_type, ScanLine* line); +NotifyGotLine* notify_got_line_new (gint job_id, ScanLine* line); +NotifyGotLine* notify_got_line_construct (GType object_type, gint job_id, ScanLine* line); static void notify_got_line_real_run (Notify* base, Scanner* scanner); static void notify_got_line_finalize (Notify* obj); #define SCANNER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SCANNER, ScannerPrivate)) @@ -903,6 +914,9 @@ static void _g_list_free__scan_job_unref0_ (GList* self); static Scanner* scanner_new (void); static Scanner* scanner_construct (GType object_type); +static void _request_unref0_ (gpointer var); +static void _notify_unref0_ (gpointer var); +static void _credentials_unref0_ (gpointer var); Scanner* scanner_get_instance (void); static gboolean scanner_notify_idle_cb (Scanner* self); static void scanner_notify (Scanner* self, Notify* notification); @@ -1087,7 +1101,7 @@ static void scan_device_finalize (ScanDevice* obj) { ScanDevice * self; - self = SCAN_DEVICE (obj); + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SCAN_DEVICE, ScanDevice); _g_free0 (self->name); _g_free0 (self->label); } @@ -1260,7 +1274,7 @@ static void scan_page_info_finalize (ScanPageInfo* obj) { ScanPageInfo * self; - self = SCAN_PAGE_INFO (obj); + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SCAN_PAGE_INFO, ScanPageInfo); _g_free0 (self->device); } @@ -1432,7 +1446,7 @@ static void scan_line_finalize (ScanLine* obj) { ScanLine * self; - self = SCAN_LINE (obj); + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SCAN_LINE, ScanLine); self->data = (g_free (self->data), NULL); } @@ -1628,7 +1642,7 @@ static void scan_options_finalize (ScanOptions* obj) { ScanOptions * self; - self = SCAN_OPTIONS (obj); + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SCAN_OPTIONS, ScanOptions); } @@ -1799,7 +1813,7 @@ static void scan_job_finalize (ScanJob* obj) { ScanJob * self; - self = SCAN_JOB (obj); + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SCAN_JOB, ScanJob); _g_free0 (self->device); } @@ -1971,7 +1985,7 @@ static void request_finalize (Request* obj) { Request * self; - self = REQUEST (obj); + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_REQUEST, Request); } @@ -2097,7 +2111,7 @@ static void request_start_scan_finalize (Request* obj) { RequestStartScan * self; - self = REQUEST_START_SCAN (obj); + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_REQUEST_START_SCAN, RequestStartScan); _scan_job_unref0 (self->job); REQUEST_CLASS (request_start_scan_parent_class)->finalize (obj); } @@ -2283,7 +2297,7 @@ static void credentials_finalize (Credentials* obj) { Credentials * self; - self = CREDENTIALS (obj); + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_CREDENTIALS, Credentials); _g_free0 (self->username); _g_free0 (self->password); } @@ -2480,7 +2494,7 @@ static void notify_finalize (Notify* obj) { Notify * self; - self = NOTIFY (obj); + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_NOTIFY, Notify); } @@ -2616,7 +2630,7 @@ static void notify_update_devices_finalize (Notify* obj) { NotifyUpdateDevices * self; - self = NOTIFY_UPDATE_DEVICES (obj); + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_NOTIFY_UPDATE_DEVICES, NotifyUpdateDevices); __g_list_free__scan_device_unref0_0 (self->priv->devices); NOTIFY_CLASS (notify_update_devices_parent_class)->finalize (obj); } @@ -2680,7 +2694,7 @@ static void notify_request_authorization_finalize (Notify* obj) { NotifyRequestAuthorization * self; - self = NOTIFY_REQUEST_AUTHORIZATION (obj); + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_NOTIFY_REQUEST_AUTHORIZATION, NotifyRequestAuthorization); _g_free0 (self->priv->resource); NOTIFY_CLASS (notify_request_authorization_parent_class)->finalize (obj); } @@ -2749,7 +2763,7 @@ static void notify_scan_failed_finalize (Notify* obj) { NotifyScanFailed * self; - self = NOTIFY_SCAN_FAILED (obj); + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_NOTIFY_SCAN_FAILED, NotifyScanFailed); _g_free0 (self->priv->error_string); NOTIFY_CLASS (notify_scan_failed_parent_class)->finalize (obj); } @@ -2860,34 +2874,59 @@ } -NotifyGotPageInfo* notify_got_page_info_construct (GType object_type, ScanPageInfo* info) { +NotifyGotPageInfo* notify_got_page_info_construct (GType object_type, gint job_id, ScanPageInfo* info) { NotifyGotPageInfo* self = NULL; - ScanPageInfo* _tmp0_; + gint _tmp0_; ScanPageInfo* _tmp1_; + ScanPageInfo* _tmp2_; g_return_val_if_fail (info != NULL, NULL); self = (NotifyGotPageInfo*) notify_construct (object_type); - _tmp0_ = info; - _tmp1_ = _scan_page_info_ref0 (_tmp0_); + _tmp0_ = job_id; + self->priv->job_id = _tmp0_; + _tmp1_ = info; + _tmp2_ = _scan_page_info_ref0 (_tmp1_); _scan_page_info_unref0 (self->priv->info); - self->priv->info = _tmp1_; + self->priv->info = _tmp2_; return self; } -NotifyGotPageInfo* notify_got_page_info_new (ScanPageInfo* info) { - return notify_got_page_info_construct (TYPE_NOTIFY_GOT_PAGE_INFO, info); +NotifyGotPageInfo* notify_got_page_info_new (gint job_id, ScanPageInfo* info) { + return notify_got_page_info_construct (TYPE_NOTIFY_GOT_PAGE_INFO, job_id, info); } static void notify_got_page_info_real_run (Notify* base, Scanner* scanner) { NotifyGotPageInfo * self; - Scanner* _tmp0_; - ScanPageInfo* _tmp1_; + gboolean _tmp0_ = FALSE; + gint _tmp1_; + Scanner* _tmp2_; + gint _tmp3_; + gboolean _tmp7_; self = (NotifyGotPageInfo*) base; g_return_if_fail (scanner != NULL); - _tmp0_ = scanner; - _tmp1_ = self->priv->info; - g_signal_emit_by_name (_tmp0_, "got-page-info", _tmp1_); + _tmp1_ = self->priv->job_id; + _tmp2_ = scanner; + _tmp3_ = _tmp2_->first_job_id; + if (_tmp1_ >= _tmp3_) { + gint _tmp4_; + Scanner* _tmp5_; + gint _tmp6_; + _tmp4_ = self->priv->job_id; + _tmp5_ = scanner; + _tmp6_ = _tmp5_->job_id; + _tmp0_ = _tmp4_ < _tmp6_; + } else { + _tmp0_ = FALSE; + } + _tmp7_ = _tmp0_; + if (_tmp7_) { + Scanner* _tmp8_; + ScanPageInfo* _tmp9_; + _tmp8_ = scanner; + _tmp9_ = self->priv->info; + g_signal_emit_by_name (_tmp8_, "got-page-info", _tmp9_); + } } @@ -2906,7 +2945,7 @@ static void notify_got_page_info_finalize (Notify* obj) { NotifyGotPageInfo * self; - self = NOTIFY_GOT_PAGE_INFO (obj); + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_NOTIFY_GOT_PAGE_INFO, NotifyGotPageInfo); _scan_page_info_unref0 (self->priv->info); NOTIFY_CLASS (notify_got_page_info_parent_class)->finalize (obj); } @@ -2924,35 +2963,70 @@ } -static void notify_page_done_real_run (Notify* base, Scanner* scanner) { - NotifyPageDone * self; - Scanner* _tmp0_; - self = (NotifyPageDone*) base; - g_return_if_fail (scanner != NULL); - _tmp0_ = scanner; - g_signal_emit_by_name (_tmp0_, "page-done"); -} - - -NotifyPageDone* notify_page_done_construct (GType object_type) { +NotifyPageDone* notify_page_done_construct (GType object_type, gint job_id) { NotifyPageDone* self = NULL; + gint _tmp0_; self = (NotifyPageDone*) notify_construct (object_type); + _tmp0_ = job_id; + self->priv->job_id = _tmp0_; return self; } -NotifyPageDone* notify_page_done_new (void) { - return notify_page_done_construct (TYPE_NOTIFY_PAGE_DONE); +NotifyPageDone* notify_page_done_new (gint job_id) { + return notify_page_done_construct (TYPE_NOTIFY_PAGE_DONE, job_id); +} + + +static void notify_page_done_real_run (Notify* base, Scanner* scanner) { + NotifyPageDone * self; + gboolean _tmp0_ = FALSE; + gint _tmp1_; + Scanner* _tmp2_; + gint _tmp3_; + gboolean _tmp7_; + self = (NotifyPageDone*) base; + g_return_if_fail (scanner != NULL); + _tmp1_ = self->priv->job_id; + _tmp2_ = scanner; + _tmp3_ = _tmp2_->first_job_id; + if (_tmp1_ >= _tmp3_) { + gint _tmp4_; + Scanner* _tmp5_; + gint _tmp6_; + _tmp4_ = self->priv->job_id; + _tmp5_ = scanner; + _tmp6_ = _tmp5_->job_id; + _tmp0_ = _tmp4_ < _tmp6_; + } else { + _tmp0_ = FALSE; + } + _tmp7_ = _tmp0_; + if (_tmp7_) { + Scanner* _tmp8_; + _tmp8_ = scanner; + g_signal_emit_by_name (_tmp8_, "page-done"); + } } static void notify_page_done_class_init (NotifyPageDoneClass * klass) { notify_page_done_parent_class = g_type_class_peek_parent (klass); + NOTIFY_CLASS (klass)->finalize = notify_page_done_finalize; + g_type_class_add_private (klass, sizeof (NotifyPageDonePrivate)); NOTIFY_CLASS (klass)->run = notify_page_done_real_run; } static void notify_page_done_instance_init (NotifyPageDone * self) { + self->priv = NOTIFY_PAGE_DONE_GET_PRIVATE (self); +} + + +static void notify_page_done_finalize (Notify* obj) { + NotifyPageDone * self; + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_NOTIFY_PAGE_DONE, NotifyPageDone); + NOTIFY_CLASS (notify_page_done_parent_class)->finalize (obj); } @@ -2973,34 +3047,59 @@ } -NotifyGotLine* notify_got_line_construct (GType object_type, ScanLine* line) { +NotifyGotLine* notify_got_line_construct (GType object_type, gint job_id, ScanLine* line) { NotifyGotLine* self = NULL; - ScanLine* _tmp0_; + gint _tmp0_; ScanLine* _tmp1_; + ScanLine* _tmp2_; g_return_val_if_fail (line != NULL, NULL); self = (NotifyGotLine*) notify_construct (object_type); - _tmp0_ = line; - _tmp1_ = _scan_line_ref0 (_tmp0_); + _tmp0_ = job_id; + self->priv->job_id = _tmp0_; + _tmp1_ = line; + _tmp2_ = _scan_line_ref0 (_tmp1_); _scan_line_unref0 (self->priv->line); - self->priv->line = _tmp1_; + self->priv->line = _tmp2_; return self; } -NotifyGotLine* notify_got_line_new (ScanLine* line) { - return notify_got_line_construct (TYPE_NOTIFY_GOT_LINE, line); +NotifyGotLine* notify_got_line_new (gint job_id, ScanLine* line) { + return notify_got_line_construct (TYPE_NOTIFY_GOT_LINE, job_id, line); } static void notify_got_line_real_run (Notify* base, Scanner* scanner) { NotifyGotLine * self; - Scanner* _tmp0_; - ScanLine* _tmp1_; + gboolean _tmp0_ = FALSE; + gint _tmp1_; + Scanner* _tmp2_; + gint _tmp3_; + gboolean _tmp7_; self = (NotifyGotLine*) base; g_return_if_fail (scanner != NULL); - _tmp0_ = scanner; - _tmp1_ = self->priv->line; - g_signal_emit_by_name (_tmp0_, "got-line", _tmp1_); + _tmp1_ = self->priv->job_id; + _tmp2_ = scanner; + _tmp3_ = _tmp2_->first_job_id; + if (_tmp1_ >= _tmp3_) { + gint _tmp4_; + Scanner* _tmp5_; + gint _tmp6_; + _tmp4_ = self->priv->job_id; + _tmp5_ = scanner; + _tmp6_ = _tmp5_->job_id; + _tmp0_ = _tmp4_ < _tmp6_; + } else { + _tmp0_ = FALSE; + } + _tmp7_ = _tmp0_; + if (_tmp7_) { + Scanner* _tmp8_; + ScanLine* _tmp9_; + _tmp8_ = scanner; + _tmp9_ = self->priv->line; + g_signal_emit_by_name (_tmp8_, "got-line", _tmp9_); + } } @@ -3019,7 +3118,7 @@ static void notify_got_line_finalize (Notify* obj) { NotifyGotLine * self; - self = NOTIFY_GOT_LINE (obj); + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_NOTIFY_GOT_LINE, NotifyGotLine); _scan_line_unref0 (self->priv->line); NOTIFY_CLASS (notify_got_line_parent_class)->finalize (obj); } @@ -3048,19 +3147,34 @@ } +static void _request_unref0_ (gpointer var) { + (var == NULL) ? NULL : (var = (request_unref (var), NULL)); +} + + +static void _notify_unref0_ (gpointer var) { + (var == NULL) ? NULL : (var = (notify_unref (var), NULL)); +} + + +static void _credentials_unref0_ (gpointer var) { + (var == NULL) ? NULL : (var = (credentials_unref (var), NULL)); +} + + static Scanner* scanner_construct (GType object_type) { Scanner* self = NULL; GAsyncQueue* _tmp0_; GAsyncQueue* _tmp1_; GAsyncQueue* _tmp2_; self = (Scanner*) g_type_create_instance (object_type); - _tmp0_ = g_async_queue_new (); + _tmp0_ = g_async_queue_new_full (_request_unref0_); _g_async_queue_unref0 (self->priv->request_queue); self->priv->request_queue = _tmp0_; - _tmp1_ = g_async_queue_new (); + _tmp1_ = g_async_queue_new_full (_notify_unref0_); _g_async_queue_unref0 (self->priv->notify_queue); self->priv->notify_queue = _tmp1_; - _tmp2_ = g_async_queue_new (); + _tmp2_ = g_async_queue_new_full (_credentials_unref0_); _g_async_queue_unref0 (self->priv->authorize_queue); self->priv->authorize_queue = _tmp2_; return self; @@ -3178,7 +3292,6 @@ NotifyScanningChanged* _tmp12_; _tmp10_ = is_scanning; self->priv->scanning = _tmp10_; - g_signal_emit_by_name (self, "scanning-changed"); _tmp11_ = notify_scanning_changed_new (); _tmp12_ = _tmp11_; scanner_notify (self, (Notify*) _tmp12_); @@ -3483,7 +3596,7 @@ _tmp2_ = status; _tmp3_ = sane_status_to_string (_tmp2_); _tmp4_ = _tmp3_; - g_debug ("scanner.vala:317: sane_get_devices () -> %s", _tmp4_); + g_debug ("scanner.vala:334: sane_get_devices () -> %s", _tmp4_); _g_free0 (_tmp4_); _tmp5_ = status; if (_tmp5_ != SANE_STATUS_GOOD) { @@ -3491,7 +3604,7 @@ const gchar* _tmp7_ = NULL; _tmp6_ = status; _tmp7_ = sane_strstatus (_tmp6_); - g_warning ("scanner.vala:320: Unable to get SANE devices: %s", _tmp7_); + g_warning ("scanner.vala:337: Unable to get SANE devices: %s", _tmp7_); self->priv->need_redetect = FALSE; self->priv->state = SCAN_STATE_IDLE; return; @@ -3594,7 +3707,7 @@ _tmp27_ = i; _tmp28_ = _tmp26_[_tmp27_]; _tmp29_ = _tmp28_->type; - g_debug ("scanner.vala:329: Device: name=\"%s\" vendor=\"%s\" model=\"%s\" type=" \ + g_debug ("scanner.vala:346: Device: name=\"%s\" vendor=\"%s\" model=\"%s\" type=" \ "\"%s\"", _tmp17_, _tmp21_, _tmp25_, _tmp29_); _tmp30_ = scan_device_new (); scan_device = _tmp30_; @@ -3710,7 +3823,7 @@ _tmp6_ = status; _tmp7_ = sane_status_to_string (_tmp6_); _tmp8_ = _tmp7_; - g_debug ("scanner.vala:371: sane_control_option (%d, SANE_ACTION_SET_AUTO) -> %s", (gint) _tmp5_, _tmp8_); + g_debug ("scanner.vala:388: sane_control_option (%d, SANE_ACTION_SET_AUTO) -> %s", (gint) _tmp5_, _tmp8_); _g_free0 (_tmp8_); _tmp9_ = status; if (_tmp9_ != SANE_STATUS_GOOD) { @@ -3722,7 +3835,7 @@ _tmp11_ = _tmp10_->name; _tmp12_ = status; _tmp13_ = sane_strstatus (_tmp12_); - g_warning ("scanner.vala:373: Error setting default option %s: %s", _tmp11_, _tmp13_); + g_warning ("scanner.vala:390: Error setting default option %s: %s", _tmp11_, _tmp13_); } _tmp14_ = status; result = _tmp14_ == SANE_STATUS_GOOD; @@ -3782,7 +3895,7 @@ _tmp14_ = sane_status_to_string (_tmp13_); _tmp15_ = _tmp14_; _tmp16_ = _tmp9_; - g_debug ("scanner.vala:385: sane_control_option (%d, SANE_ACTION_SET_VALUE, %s) " \ + g_debug ("scanner.vala:402: sane_control_option (%d, SANE_ACTION_SET_VALUE, %s) " \ "-> (%s, %s)", (gint) _tmp11_, _tmp12_, _tmp15_, _tmp16_); _g_free0 (_tmp15_); if (_result_) { @@ -3962,7 +4075,7 @@ _tmp54_ = sane_status_to_string (status); _tmp55_ = _tmp54_; _tmp56_ = v; - g_debug ("scanner.vala:422: sane_control_option (%d, SANE_ACTION_SET_VALUE, %d) " \ + g_debug ("scanner.vala:439: sane_control_option (%d, SANE_ACTION_SET_VALUE, %d) " \ "-> (%s, %d)", (gint) _tmp52_, _tmp53_, _tmp55_, (gint) _tmp56_); _g_free0 (_tmp55_); _tmp57_ = v; @@ -4136,7 +4249,7 @@ _tmp50_ = sane_status_to_string (status); _tmp51_ = _tmp50_; _tmp52_ = SANE_UNFIX (v_fixed); - g_debug ("scanner.vala:462: sane_control_option (%d, SANE_ACTION_SET_VALUE, %f) " \ + g_debug ("scanner.vala:479: sane_control_option (%d, SANE_ACTION_SET_VALUE, %f) " \ "-> (%s, %f)", (gint) _tmp48_, _tmp49_, _tmp51_, _tmp52_); _g_free0 (_tmp51_); _tmp53_ = SANE_UNFIX (v_fixed); @@ -4279,7 +4392,7 @@ _tmp34_ = sane_status_to_string (status); _tmp35_ = _tmp34_; _tmp36_ = _vala_result; - g_debug ("scanner.vala:480: sane_control_option (%d, SANE_ACTION_SET_VALUE, \"%s" \ + g_debug ("scanner.vala:497: sane_control_option (%d, SANE_ACTION_SET_VALUE, \"%s" \ "\") -> (%s, \"%s\")", (gint) _tmp32_, _tmp33_, _tmp35_, _tmp36_); _g_free0 (_tmp35_); result = status == SANE_STATUS_GOOD; @@ -5156,7 +5269,7 @@ } } _tmp214_ = s; - g_debug ("scanner.vala:668: %s", _tmp214_); + g_debug ("scanner.vala:685: %s", _tmp214_); _tmp215_ = option; _tmp216_ = _tmp215_->desc; if (_tmp216_ != NULL) { @@ -5164,7 +5277,7 @@ const gchar* _tmp218_; _tmp217_ = option; _tmp218_ = _tmp217_->desc; - g_debug ("scanner.vala:671: Description: %s", _tmp218_); + g_debug ("scanner.vala:688: Description: %s", _tmp218_); } _g_free0 (s); } @@ -5353,10 +5466,10 @@ SANE_Handle _tmp2_; _tmp1_ = self->priv->handle; sane_cancel (_tmp1_); - g_debug ("scanner.vala:698: sane_cancel ()"); + g_debug ("scanner.vala:715: sane_cancel ()"); _tmp2_ = self->priv->handle; sane_close (_tmp2_); - g_debug ("scanner.vala:701: sane_close ()"); + g_debug ("scanner.vala:718: sane_close ()"); self->priv->have_handle = FALSE; _g_hash_table_unref0 (self->priv->options); self->priv->options = NULL; @@ -5459,11 +5572,11 @@ _request_unref0 (request); return result; } - g_debug ("scanner.vala:736: Processing request"); + g_debug ("scanner.vala:753: Processing request"); _tmp14_ = request_count; request_count = _tmp14_ + 1; _tmp15_ = request; - if (IS_REQUEST_START_SCAN (_tmp15_)) { + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp15_, TYPE_REQUEST_START_SCAN)) { Request* _tmp16_; RequestStartScan* _tmp17_; RequestStartScan* r; @@ -5471,7 +5584,7 @@ ScanJob* _tmp19_; ScanJob* _tmp20_; _tmp16_ = request; - _tmp17_ = _request_ref0 (REQUEST_START_SCAN (_tmp16_)); + _tmp17_ = _request_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_REQUEST_START_SCAN, RequestStartScan)); r = _tmp17_; _tmp18_ = r; _tmp19_ = _tmp18_->job; @@ -5481,12 +5594,12 @@ } else { Request* _tmp21_; _tmp21_ = request; - if (IS_REQUEST_CANCEL (_tmp21_)) { + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp21_, TYPE_REQUEST_CANCEL)) { scanner_fail_scan (self, (gint) SANE_STATUS_CANCELLED, "Scan cancelled - do not report this error"); } else { Request* _tmp22_; _tmp22_ = request; - if (IS_REQUEST_QUIT (_tmp22_)) { + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp22_, TYPE_REQUEST_QUIT)) { scanner_close_device (self); result = FALSE; _request_unref0 (request); @@ -5536,7 +5649,7 @@ g_return_if_fail (self != NULL); _tmp0_ = self->priv->job_queue; _tmp1_ = _tmp0_->data; - _tmp2_ = _scan_job_ref0 (SCAN_JOB ((ScanJob*) _tmp1_)); + _tmp2_ = _scan_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST ((ScanJob*) _tmp1_, TYPE_SCAN_JOB, ScanJob)); job = _tmp2_; self->priv->line_count = 0; self->priv->pass_number = 0; @@ -5567,7 +5680,7 @@ _tmp12_ = _tmp11_->device; if (_tmp12_ == NULL) { const gchar* _tmp13_ = NULL; - g_warning ("scanner.vala:771: No scan device available"); + g_warning ("scanner.vala:788: No scan device available"); _tmp13_ = _ ("No scanners available. Please connect a scanner."); scanner_fail_scan (self, 0, _tmp13_); _scan_job_unref0 (job); @@ -5589,7 +5702,7 @@ } _tmp18_ = self->priv->handle; sane_close (_tmp18_); - g_debug ("scanner.vala:788: sane_close ()"); + g_debug ("scanner.vala:805: sane_close ()"); self->priv->have_handle = FALSE; } _g_free0 (self->priv->current_device); @@ -5610,7 +5723,7 @@ _tmp28_ = status; _tmp29_ = sane_status_to_string (_tmp28_); _tmp30_ = _tmp29_; - g_debug ("scanner.vala:797: sane_open (\"%s\") -> %s", _tmp27_, _tmp30_); + g_debug ("scanner.vala:814: sane_open (\"%s\") -> %s", _tmp27_, _tmp30_); _g_free0 (_tmp30_); _tmp31_ = status; if (_tmp31_ != SANE_STATUS_GOOD) { @@ -5620,7 +5733,7 @@ const gchar* _tmp35_ = NULL; _tmp32_ = status; _tmp33_ = sane_strstatus (_tmp32_); - g_warning ("scanner.vala:801: Unable to get open device: %s", _tmp33_); + g_warning ("scanner.vala:818: Unable to get open device: %s", _tmp33_); _tmp34_ = status; _tmp35_ = _ ("Unable to connect to scanner"); scanner_fail_scan (self, (gint) _tmp34_, _tmp35_); @@ -5668,14 +5781,14 @@ g_return_if_fail (self != NULL); _tmp0_ = self->priv->job_queue; _tmp1_ = _tmp0_->data; - _tmp2_ = _scan_job_ref0 (SCAN_JOB ((ScanJob*) _tmp1_)); + _tmp2_ = _scan_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST ((ScanJob*) _tmp1_, TYPE_SCAN_JOB, ScanJob)); job = _tmp2_; _tmp3_ = self->priv->handle; _tmp4_ = self->priv->option_index; _tmp5_ = sane_get_option_descriptor (_tmp3_, _tmp4_); option = _tmp5_; _tmp6_ = self->priv->option_index; - g_debug ("scanner.vala:818: sane_get_option_descriptor (%d)", (gint) _tmp6_); + g_debug ("scanner.vala:835: sane_get_option_descriptor (%d)", (gint) _tmp6_); _tmp7_ = self->priv->option_index; index = _tmp7_; _tmp8_ = self->priv->option_index; @@ -5874,7 +5987,7 @@ _tmp54__length1 = flatbed_sources_length1; _tmp55_ = scanner_set_constrained_string_option (self, _tmp51_, _tmp52_, _tmp53_, _tmp54_, _tmp54__length1, NULL); if (!_tmp55_) { - g_warning ("scanner.vala:872: Unable to set single page source, please file a bug"); + g_warning ("scanner.vala:889: Unable to set single page source, please file a bug"); } } break; @@ -5906,8 +6019,8 @@ _tmp64_ = adf_sources; _tmp64__length1 = adf_sources_length1; _tmp65_ = scanner_set_constrained_string_option (self, _tmp61_, _tmp62_, _tmp63_, _tmp64_, _tmp64__length1, NULL); - if (!(!_tmp65_)) { - g_warning ("scanner.vala:877: Unable to set front ADF source, please file a bug"); + if (!_tmp65_) { + g_warning ("scanner.vala:894: Unable to set front ADF source, please file a bug"); } } break; @@ -5940,7 +6053,7 @@ _tmp74__length1 = adf_sources_length1; _tmp75_ = scanner_set_constrained_string_option (self, _tmp71_, _tmp72_, _tmp73_, _tmp74_, _tmp74__length1, NULL); if (!_tmp75_) { - g_warning ("scanner.vala:882: Unable to set back ADF source, please file a bug"); + g_warning ("scanner.vala:899: Unable to set back ADF source, please file a bug"); } } break; @@ -5973,7 +6086,7 @@ _tmp84__length1 = adf_sources_length1; _tmp85_ = scanner_set_constrained_string_option (self, _tmp81_, _tmp82_, _tmp83_, _tmp84_, _tmp84__length1, NULL); if (!_tmp85_) { - g_warning ("scanner.vala:887: Unable to set duplex ADF source, please file a bug"); + g_warning ("scanner.vala:904: Unable to set duplex ADF source, please file a bug"); } } break; @@ -6122,7 +6235,7 @@ _tmp130__length1 = color_scan_modes_length1; _tmp131_ = scanner_set_constrained_string_option (self, _tmp127_, _tmp128_, _tmp129_, _tmp130_, _tmp130__length1, NULL); if (!_tmp131_) { - g_warning ("scanner.vala:933: Unable to set Color mode, please file a bug"); + g_warning ("scanner.vala:950: Unable to set Color mode, please file a bug"); } break; } @@ -6141,7 +6254,7 @@ _tmp135__length1 = gray_scan_modes_length1; _tmp136_ = scanner_set_constrained_string_option (self, _tmp132_, _tmp133_, _tmp134_, _tmp135_, _tmp135__length1, NULL); if (!_tmp136_) { - g_warning ("scanner.vala:937: Unable to set Gray mode, please file a bug"); + g_warning ("scanner.vala:954: Unable to set Gray mode, please file a bug"); } break; } @@ -6160,7 +6273,7 @@ _tmp140__length1 = lineart_scan_modes_length1; _tmp141_ = scanner_set_constrained_string_option (self, _tmp137_, _tmp138_, _tmp139_, _tmp140_, _tmp140__length1, NULL); if (!_tmp141_) { - g_warning ("scanner.vala:941: Unable to set Lineart mode, please file a bug"); + g_warning ("scanner.vala:958: Unable to set Lineart mode, please file a bug"); } break; } @@ -6264,7 +6377,7 @@ _tmp178__length1 = disable_compression_names_length1; _tmp179_ = scanner_set_constrained_string_option (self, _tmp175_, _tmp176_, _tmp177_, _tmp178_, _tmp178__length1, NULL); if (!_tmp179_) { - g_warning ("scanner.vala:977: Unable to disable compression, please file a bug"); + g_warning ("scanner.vala:994: Unable to disable compression, please file a bug"); } disable_compression_names = (_vala_array_free (disable_compression_names, disable_compression_names_length1, (GDestroyNotify) g_free), NULL); } @@ -6654,7 +6767,7 @@ _tmp342_ = _tmp341_->name; _tmp343_ = g_strdup (_tmp342_); _tmp344_ = index; - g_hash_table_insert (_tmp340_, _tmp343_, GINT_TO_POINTER ((gint) _tmp344_)); + g_hash_table_insert (_tmp340_, _tmp343_, (gpointer) ((gintptr) ((gint) _tmp344_))); _scan_job_unref0 (job); } @@ -6674,7 +6787,7 @@ _tmp0_ = self->priv->options; _tmp1_ = name; _tmp2_ = g_hash_table_lookup (_tmp0_, _tmp1_); - _vala_index = GPOINTER_TO_INT (_tmp2_); + _vala_index = (gint) ((gintptr) _tmp2_); _tmp3_ = _vala_index; if (_tmp3_ == 0) { result = NULL; @@ -6695,23 +6808,27 @@ static void scanner_do_complete_document (Scanner* self) { - GList* _tmp0_; + SANE_Handle _tmp0_; GList* _tmp1_; - NotifyDocumentDone* _tmp2_; + GList* _tmp2_; NotifyDocumentDone* _tmp3_; + NotifyDocumentDone* _tmp4_; g_return_if_fail (self != NULL); - _tmp0_ = self->priv->job_queue; - self->priv->job_queue = g_list_remove_link (self->priv->job_queue, _tmp0_); - self->priv->state = SCAN_STATE_IDLE; + _tmp0_ = self->priv->handle; + sane_cancel (_tmp0_); + g_debug ("scanner.vala:1117: sane_cancel ()"); _tmp1_ = self->priv->job_queue; - if (_tmp1_ != NULL) { + self->priv->job_queue = g_list_remove_link (self->priv->job_queue, _tmp1_); + self->priv->state = SCAN_STATE_IDLE; + _tmp2_ = self->priv->job_queue; + if (_tmp2_ != NULL) { self->priv->state = SCAN_STATE_OPEN; return; } - _tmp2_ = notify_document_done_new (); - _tmp3_ = _tmp2_; - scanner_notify (self, (Notify*) _tmp3_); - _notify_unref0 (_tmp3_); + _tmp3_ = notify_document_done_new (); + _tmp4_ = _tmp3_; + scanner_notify (self, (Notify*) _tmp4_); + _notify_unref0 (_tmp4_); scanner_set_scanning (self, FALSE); } @@ -6741,7 +6858,7 @@ _tmp6_ = status; _tmp7_ = sane_status_to_string (_tmp6_); _tmp8_ = _tmp7_; - g_debug ("scanner.vala:1124: sane_start (page=%d, pass=%d) -> %s", _tmp4_, _tmp5_, _tmp8_); + g_debug ("scanner.vala:1144: sane_start (page=%d, pass=%d) -> %s", _tmp4_, _tmp5_, _tmp8_); _g_free0 (_tmp8_); _tmp9_ = status; if (_tmp9_ == SANE_STATUS_GOOD) { @@ -6758,7 +6875,7 @@ const gchar* _tmp14_ = NULL; _tmp11_ = status; _tmp12_ = sane_strstatus (_tmp11_); - g_warning ("scanner.vala:1131: Unable to start device: %s", _tmp12_); + g_warning ("scanner.vala:1151: Unable to start device: %s", _tmp12_); _tmp13_ = status; _tmp14_ = _ ("Unable to start scan"); scanner_fail_scan (self, (gint) _tmp13_, _tmp14_); @@ -6881,11 +6998,11 @@ gchar* _tmp67_; gint _tmp68_; gint _tmp69_; - SANE_Parameters _tmp74_; - gint _tmp75_; + SANE_Parameters _tmp76_; + gint _tmp77_; gint buffer_size; - gint _tmp76_; - guchar* _tmp77_ = NULL; + gint _tmp78_; + guchar* _tmp79_ = NULL; g_return_if_fail (self != NULL); _tmp0_ = self->priv->handle; _tmp2_ = sane_get_parameters (_tmp0_, &_tmp1_); @@ -6894,7 +7011,7 @@ _tmp3_ = status; _tmp4_ = sane_status_to_string (_tmp3_); _tmp5_ = _tmp4_; - g_debug ("scanner.vala:1141: sane_get_parameters () -> %s", _tmp5_); + g_debug ("scanner.vala:1161: sane_get_parameters () -> %s", _tmp5_); _g_free0 (_tmp5_); _tmp6_ = status; if (_tmp6_ != SANE_STATUS_GOOD) { @@ -6904,7 +7021,7 @@ const gchar* _tmp10_ = NULL; _tmp7_ = status; _tmp8_ = sane_strstatus (_tmp7_); - g_warning ("scanner.vala:1144: Unable to get device parameters: %s", _tmp8_); + g_warning ("scanner.vala:1164: Unable to get device parameters: %s", _tmp8_); _tmp9_ = status; _tmp10_ = _ ("Error communicating with scanner"); scanner_fail_scan (self, (gint) _tmp9_, _tmp10_); @@ -6912,7 +7029,7 @@ } _tmp11_ = self->priv->job_queue; _tmp12_ = _tmp11_->data; - _tmp13_ = _scan_job_ref0 (SCAN_JOB ((ScanJob*) _tmp12_)); + _tmp13_ = _scan_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST ((ScanJob*) _tmp12_, TYPE_SCAN_JOB, ScanJob)); job = _tmp13_; _tmp15_ = self->priv->parameters; _tmp16_ = _tmp15_.last_frame; @@ -6934,7 +7051,7 @@ _tmp27_ = _tmp26_.lines; _tmp28_ = self->priv->parameters; _tmp29_ = _tmp28_.depth; - g_debug ("scanner.vala:1153: Parameters: format=%s last_frame=%s bytes_per_line=" \ + g_debug ("scanner.vala:1173: Parameters: format=%s last_frame=%s bytes_per_line=" \ "%d pixels_per_line=%d lines=%d depth=%d", _tmp20_, _tmp21_, _tmp23_, _tmp25_, _tmp27_, _tmp29_); _g_free0 (_tmp20_); _tmp30_ = scan_page_info_new (); @@ -7014,26 +7131,30 @@ _tmp68_ = self->priv->page_number; _tmp69_ = self->priv->notified_page; if (_tmp68_ != _tmp69_) { - ScanPageInfo* _tmp70_; - NotifyGotPageInfo* _tmp71_; - NotifyGotPageInfo* _tmp72_; - gint _tmp73_; - _tmp70_ = info; - _tmp71_ = notify_got_page_info_new (_tmp70_); - _tmp72_ = _tmp71_; - scanner_notify (self, (Notify*) _tmp72_); - _notify_unref0 (_tmp72_); - _tmp73_ = self->priv->page_number; - self->priv->notified_page = _tmp73_; - } - _tmp74_ = self->priv->parameters; - _tmp75_ = _tmp74_.bytes_per_line; - buffer_size = _tmp75_ + 1; - _tmp76_ = buffer_size; - _tmp77_ = g_new0 (guchar, _tmp76_); + ScanJob* _tmp70_; + gint _tmp71_; + ScanPageInfo* _tmp72_; + NotifyGotPageInfo* _tmp73_; + NotifyGotPageInfo* _tmp74_; + gint _tmp75_; + _tmp70_ = job; + _tmp71_ = _tmp70_->id; + _tmp72_ = info; + _tmp73_ = notify_got_page_info_new (_tmp71_, _tmp72_); + _tmp74_ = _tmp73_; + scanner_notify (self, (Notify*) _tmp74_); + _notify_unref0 (_tmp74_); + _tmp75_ = self->priv->page_number; + self->priv->notified_page = _tmp75_; + } + _tmp76_ = self->priv->parameters; + _tmp77_ = _tmp76_.bytes_per_line; + buffer_size = _tmp77_ + 1; + _tmp78_ = buffer_size; + _tmp79_ = g_new0 (guchar, _tmp78_); self->priv->buffer = (g_free (self->priv->buffer), NULL); - self->priv->buffer = _tmp77_; - self->priv->buffer_length1 = _tmp76_; + self->priv->buffer = _tmp79_; + self->priv->buffer_length1 = _tmp78_; self->priv->_buffer_size_ = self->priv->buffer_length1; self->priv->n_used = 0; self->priv->line_count = 0; @@ -7045,56 +7166,60 @@ static void scanner_do_complete_page (Scanner* self) { - NotifyPageDone* _tmp0_; - NotifyPageDone* _tmp1_; - GList* _tmp2_; - gconstpointer _tmp3_; - ScanJob* _tmp4_; + GList* _tmp0_; + gconstpointer _tmp1_; + ScanJob* _tmp2_; ScanJob* job; - SANE_Parameters _tmp5_; - gboolean _tmp6_; - ScanJob* _tmp8_; - ScanType _tmp9_; - SANE_Handle _tmp13_; + ScanJob* _tmp3_; + gint _tmp4_; + NotifyPageDone* _tmp5_; + NotifyPageDone* _tmp6_; + SANE_Parameters _tmp7_; + gboolean _tmp8_; + ScanJob* _tmp10_; + ScanType _tmp11_; g_return_if_fail (self != NULL); - _tmp0_ = notify_page_done_new (); - _tmp1_ = _tmp0_; - scanner_notify (self, (Notify*) _tmp1_); - _notify_unref0 (_tmp1_); - _tmp2_ = self->priv->job_queue; - _tmp3_ = _tmp2_->data; - _tmp4_ = _scan_job_ref0 (SCAN_JOB ((ScanJob*) _tmp3_)); - job = _tmp4_; - _tmp5_ = self->priv->parameters; - _tmp6_ = _tmp5_.last_frame; - if (!_tmp6_) { - gint _tmp7_; - _tmp7_ = self->priv->pass_number; - self->priv->pass_number = _tmp7_ + 1; + _tmp0_ = self->priv->job_queue; + _tmp1_ = _tmp0_->data; + _tmp2_ = _scan_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST ((ScanJob*) _tmp1_, TYPE_SCAN_JOB, ScanJob)); + job = _tmp2_; + _tmp3_ = job; + _tmp4_ = _tmp3_->id; + _tmp5_ = notify_page_done_new (_tmp4_); + _tmp6_ = _tmp5_; + scanner_notify (self, (Notify*) _tmp6_); + _notify_unref0 (_tmp6_); + _tmp7_ = self->priv->parameters; + _tmp8_ = _tmp7_.last_frame; + if (!_tmp8_) { + gint _tmp9_; + _tmp9_ = self->priv->pass_number; + self->priv->pass_number = _tmp9_ + 1; self->priv->state = SCAN_STATE_START; _scan_job_unref0 (job); return; } - _tmp8_ = job; - _tmp9_ = _tmp8_->type; - if (_tmp9_ != SCAN_TYPE_SINGLE) { - gint _tmp10_; - NotifyPageDone* _tmp11_; - NotifyPageDone* _tmp12_; - _tmp10_ = self->priv->page_number; - self->priv->page_number = _tmp10_ + 1; + _tmp10_ = job; + _tmp11_ = _tmp10_->type; + if (_tmp11_ != SCAN_TYPE_SINGLE) { + gint _tmp12_; + ScanJob* _tmp13_; + gint _tmp14_; + NotifyPageDone* _tmp15_; + NotifyPageDone* _tmp16_; + _tmp12_ = self->priv->page_number; + self->priv->page_number = _tmp12_ + 1; self->priv->pass_number = 0; - _tmp11_ = notify_page_done_new (); - _tmp12_ = _tmp11_; - scanner_notify (self, (Notify*) _tmp12_); - _notify_unref0 (_tmp12_); + _tmp13_ = job; + _tmp14_ = _tmp13_->id; + _tmp15_ = notify_page_done_new (_tmp14_); + _tmp16_ = _tmp15_; + scanner_notify (self, (Notify*) _tmp16_); + _notify_unref0 (_tmp16_); self->priv->state = SCAN_STATE_START; _scan_job_unref0 (job); return; } - _tmp13_ = self->priv->handle; - sane_cancel (_tmp13_); - g_debug ("scanner.vala:1213: sane_cancel ()"); scanner_do_complete_document (self); _scan_job_unref0 (job); } @@ -7139,7 +7264,7 @@ g_return_if_fail (self != NULL); _tmp0_ = self->priv->job_queue; _tmp1_ = _tmp0_->data; - _tmp2_ = _scan_job_ref0 (SCAN_JOB ((ScanJob*) _tmp1_)); + _tmp2_ = _scan_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST ((ScanJob*) _tmp1_, TYPE_SCAN_JOB, ScanJob)); job = _tmp2_; _tmp3_ = self->priv->buffer; _tmp3__length1 = self->priv->buffer_length1; @@ -7160,7 +7285,7 @@ _tmp14_ = sane_status_to_string (_tmp13_); _tmp15_ = _tmp14_; _tmp16_ = n_read; - g_debug ("scanner.vala:1228: sane_read (%d) -> (%s, %d)", _tmp12_, _tmp15_, (gint) _tmp16_); + g_debug ("scanner.vala:1245: sane_read (%d) -> (%s, %d)", _tmp12_, _tmp15_, (gint) _tmp16_); _g_free0 (_tmp15_); _tmp17_ = status; if (_tmp17_ == SANE_STATUS_EOF) { @@ -7190,13 +7315,13 @@ _tmp25_ = self->priv->line_count; _tmp26_ = self->priv->parameters; _tmp27_ = _tmp26_.lines; - g_warning ("scanner.vala:1234: Scan completed with %d lines, expected %d lines", _tmp25_, _tmp27_); + g_warning ("scanner.vala:1251: Scan completed with %d lines, expected %d lines", _tmp25_, _tmp27_); } _tmp28_ = self->priv->n_used; if (_tmp28_ > 0) { gint _tmp29_; _tmp29_ = self->priv->n_used; - g_warning ("scanner.vala:1236: Scan complete with %d bytes of unused data", _tmp29_); + g_warning ("scanner.vala:1253: Scan complete with %d bytes of unused data", _tmp29_); } scanner_do_complete_page (self); _scan_job_unref0 (job); @@ -7210,7 +7335,7 @@ const gchar* _tmp34_ = NULL; _tmp31_ = status; _tmp32_ = sane_strstatus (_tmp31_); - g_warning ("scanner.vala:1244: Unable to read frame from device: %s", _tmp32_); + g_warning ("scanner.vala:1261: Unable to read frame from device: %s", _tmp32_); _tmp33_ = status; _tmp34_ = _ ("Error communicating with scanner"); scanner_fail_scan (self, (gint) _tmp33_, _tmp34_); @@ -7286,9 +7411,11 @@ gboolean _tmp109_; gboolean _tmp112_; gboolean _tmp115_; - ScanLine* _tmp160_; - NotifyGotLine* _tmp161_; - NotifyGotLine* _tmp162_; + ScanJob* _tmp160_; + gint _tmp161_; + ScanLine* _tmp162_; + NotifyGotLine* _tmp163_; + NotifyGotLine* _tmp164_; _tmp45_ = scan_line_new (); line = _tmp45_; _tmp46_ = self->priv->parameters; @@ -7642,11 +7769,13 @@ _tmp159_ = _tmp158_->width; _tmp157_->data_length = ((_tmp159_ * 2) + 7) / 8; } - _tmp160_ = line; - _tmp161_ = notify_got_line_new (_tmp160_); - _tmp162_ = _tmp161_; - scanner_notify (self, (Notify*) _tmp162_); - _notify_unref0 (_tmp162_); + _tmp160_ = job; + _tmp161_ = _tmp160_->id; + _tmp162_ = line; + _tmp163_ = notify_got_line_new (_tmp161_, _tmp162_); + _tmp164_ = _tmp163_; + scanner_notify (self, (Notify*) _tmp164_); + _notify_unref0 (_tmp164_); _scan_line_unref0 (line); } _scan_job_unref0 (job); @@ -7682,7 +7811,7 @@ _tmp2_ = status; _tmp3_ = sane_status_to_string (_tmp2_); _tmp4_ = _tmp3_; - g_debug ("scanner.vala:1361: sane_init () -> %s", _tmp4_); + g_debug ("scanner.vala:1378: sane_init () -> %s", _tmp4_); _g_free0 (_tmp4_); _tmp5_ = status; if (_tmp5_ != SANE_STATUS_GOOD) { @@ -7690,7 +7819,7 @@ const gchar* _tmp7_ = NULL; _tmp6_ = status; _tmp7_ = sane_strstatus (_tmp6_); - g_warning ("scanner.vala:1364: Unable to initialize SANE backend: %s", _tmp7_); + g_warning ("scanner.vala:1381: Unable to initialize SANE backend: %s", _tmp7_); result = NULL; return result; } @@ -7700,7 +7829,7 @@ _tmp11_ = SANE_VERSION_MINOR (_tmp10_); _tmp12_ = version_code; _tmp13_ = SANE_VERSION_BUILD (_tmp12_); - g_debug ("scanner.vala:1367: SANE version %d.%d.%d", _tmp9_, _tmp11_, _tmp13_); + g_debug ("scanner.vala:1384: SANE version %d.%d.%d", _tmp9_, _tmp11_, _tmp13_); scanner_redetect (self); while (TRUE) { gboolean _tmp14_ = FALSE; @@ -7763,6 +7892,7 @@ static gpointer _scanner_scan_thread_gthread_func (gpointer self) { gpointer result; result = scanner_scan_thread (self); + scanner_unref (self); return result; } @@ -7773,7 +7903,7 @@ { GThread* _tmp0_ = NULL; GThread* _tmp1_; - _tmp0_ = g_thread_create (_scanner_scan_thread_gthread_func, self, TRUE, &_inner_error_); + _tmp0_ = g_thread_create (_scanner_scan_thread_gthread_func, scanner_ref (self), TRUE, &_inner_error_); _tmp1_ = _tmp0_; if (_inner_error_ != NULL) { goto __catch14_g_error; @@ -7790,7 +7920,7 @@ _inner_error_ = NULL; _tmp2_ = e; _tmp3_ = _tmp2_->message; - g_critical ("scanner.vala:1418: Unable to create thread: %s", _tmp3_); + g_critical ("scanner.vala:1435: Unable to create thread: %s", _tmp3_); _g_error_free0 (e); } __finally14: @@ -7812,7 +7942,7 @@ return; } self->priv->need_redetect = TRUE; - g_debug ("scanner.vala:1428: Requesting redetection of scan devices"); + g_debug ("scanner.vala:1445: Requesting redetection of scan devices"); _tmp1_ = self->priv->request_queue; _tmp2_ = request_redetect_new (); g_async_queue_push (_tmp1_, (Request*) _tmp2_); @@ -7947,28 +8077,30 @@ RequestStartScan* request; ScanJob* _tmp21_; ScanJob* _tmp22_; - const gchar* _tmp23_; - gchar* _tmp24_; - ScanJob* _tmp25_; - ScanOptions* _tmp26_; - gint _tmp27_; - ScanJob* _tmp28_; - ScanOptions* _tmp29_; - ScanMode _tmp30_; - ScanJob* _tmp31_; - ScanOptions* _tmp32_; - gint _tmp33_; - ScanJob* _tmp34_; - ScanOptions* _tmp35_; - ScanType _tmp36_; - ScanJob* _tmp37_; - ScanOptions* _tmp38_; - gint _tmp39_; - ScanJob* _tmp40_; - ScanOptions* _tmp41_; - gint _tmp42_; - GAsyncQueue* _tmp43_; - Request* _tmp44_; + gint _tmp23_; + ScanJob* _tmp24_; + const gchar* _tmp25_; + gchar* _tmp26_; + ScanJob* _tmp27_; + ScanOptions* _tmp28_; + gint _tmp29_; + ScanJob* _tmp30_; + ScanOptions* _tmp31_; + ScanMode _tmp32_; + ScanJob* _tmp33_; + ScanOptions* _tmp34_; + gint _tmp35_; + ScanJob* _tmp36_; + ScanOptions* _tmp37_; + ScanType _tmp38_; + ScanJob* _tmp39_; + ScanOptions* _tmp40_; + gint _tmp41_; + ScanJob* _tmp42_; + ScanOptions* _tmp43_; + gint _tmp44_; + GAsyncQueue* _tmp45_; + Request* _tmp46_; g_return_if_fail (self != NULL); g_return_if_fail (options != NULL); _tmp1_ = device; @@ -7996,7 +8128,7 @@ _tmp17_ = _tmp16_->paper_width; _tmp18_ = options; _tmp19_ = _tmp18_->paper_height; - g_debug ("scanner.vala:1474: Scanner.scan (\"%s\", dpi=%d, scan_mode=%s, depth=%" \ + g_debug ("scanner.vala:1491: Scanner.scan (\"%s\", dpi=%d, scan_mode=%s, depth=%" \ "d, type=%s, paper_width=%d, paper_height=%d)", _tmp3_, _tmp5_, _tmp9_, _tmp11_, _tmp15_, _tmp17_, _tmp19_); _g_free0 (_tmp15_); _g_free0 (_tmp9_); @@ -8006,48 +8138,55 @@ _scan_job_unref0 (request->job); request->job = _tmp21_; _tmp22_ = request->job; - _tmp23_ = device; - _tmp24_ = g_strdup (_tmp23_); - _g_free0 (_tmp22_->device); - _tmp22_->device = _tmp24_; - _tmp25_ = request->job; - _tmp26_ = options; - _tmp27_ = _tmp26_->dpi; - _tmp25_->dpi = (gdouble) _tmp27_; - _tmp28_ = request->job; - _tmp29_ = options; - _tmp30_ = _tmp29_->scan_mode; - _tmp28_->scan_mode = _tmp30_; - _tmp31_ = request->job; - _tmp32_ = options; - _tmp33_ = _tmp32_->depth; - _tmp31_->depth = _tmp33_; - _tmp34_ = request->job; - _tmp35_ = options; - _tmp36_ = _tmp35_->type; - _tmp34_->type = _tmp36_; - _tmp37_ = request->job; - _tmp38_ = options; - _tmp39_ = _tmp38_->paper_width; - _tmp37_->page_width = _tmp39_; - _tmp40_ = request->job; - _tmp41_ = options; - _tmp42_ = _tmp41_->paper_height; - _tmp40_->page_height = _tmp42_; - _tmp43_ = self->priv->request_queue; - _tmp44_ = _request_ref0 ((Request*) request); - g_async_queue_push (_tmp43_, _tmp44_); + _tmp23_ = self->job_id; + self->job_id = _tmp23_ + 1; + _tmp22_->id = _tmp23_; + _tmp24_ = request->job; + _tmp25_ = device; + _tmp26_ = g_strdup (_tmp25_); + _g_free0 (_tmp24_->device); + _tmp24_->device = _tmp26_; + _tmp27_ = request->job; + _tmp28_ = options; + _tmp29_ = _tmp28_->dpi; + _tmp27_->dpi = (gdouble) _tmp29_; + _tmp30_ = request->job; + _tmp31_ = options; + _tmp32_ = _tmp31_->scan_mode; + _tmp30_->scan_mode = _tmp32_; + _tmp33_ = request->job; + _tmp34_ = options; + _tmp35_ = _tmp34_->depth; + _tmp33_->depth = _tmp35_; + _tmp36_ = request->job; + _tmp37_ = options; + _tmp38_ = _tmp37_->type; + _tmp36_->type = _tmp38_; + _tmp39_ = request->job; + _tmp40_ = options; + _tmp41_ = _tmp40_->paper_width; + _tmp39_->page_width = _tmp41_; + _tmp42_ = request->job; + _tmp43_ = options; + _tmp44_ = _tmp43_->paper_height; + _tmp42_->page_height = _tmp44_; + _tmp45_ = self->priv->request_queue; + _tmp46_ = _request_ref0 ((Request*) request); + g_async_queue_push (_tmp45_, _tmp46_); _request_unref0 (request); } void scanner_cancel (Scanner* self) { - GAsyncQueue* _tmp0_; - RequestCancel* _tmp1_; + gint _tmp0_; + GAsyncQueue* _tmp1_; + RequestCancel* _tmp2_; g_return_if_fail (self != NULL); - _tmp0_ = self->priv->request_queue; - _tmp1_ = request_cancel_new (); - g_async_queue_push (_tmp0_, (Request*) _tmp1_); + _tmp0_ = self->job_id; + self->first_job_id = _tmp0_; + _tmp1_ = self->priv->request_queue; + _tmp2_ = request_cancel_new (); + g_async_queue_push (_tmp1_, (Request*) _tmp2_); } @@ -8056,7 +8195,7 @@ RequestQuit* _tmp1_; GThread* _tmp2_; g_return_if_fail (self != NULL); - g_debug ("scanner.vala:1496: Stopping scan thread"); + g_debug ("scanner.vala:1515: Stopping scan thread"); _tmp0_ = self->priv->request_queue; _tmp1_ = request_quit_new (); g_async_queue_push (_tmp0_, (Request*) _tmp1_); @@ -8067,7 +8206,7 @@ g_thread_join (_tmp3_); } sane_exit (); - g_debug ("scanner.vala:1504: sane_exit ()"); + g_debug ("scanner.vala:1523: sane_exit ()"); } @@ -8265,7 +8404,7 @@ static void scanner_finalize (Scanner* obj) { Scanner * self; - self = SCANNER (obj); + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SCANNER, Scanner); _g_async_queue_unref0 (self->priv->request_queue); _g_async_queue_unref0 (self->priv->notify_queue); _g_async_queue_unref0 (self->priv->authorize_queue); diff -Nru simple-scan-3.4.1/src/scanner.vala simple-scan-3.4.3/src/scanner.vala --- simple-scan-3.4.1/src/scanner.vala 2012-04-17 06:10:02.000000000 +0000 +++ simple-scan-3.4.3/src/scanner.vala 2013-03-21 20:37:04.000000000 +0000 @@ -84,6 +84,7 @@ private class ScanJob { + public int id; public string device; public double dpi; public ScanMode scan_mode; @@ -167,23 +168,36 @@ private class NotifyGotPageInfo : Notify { - public NotifyGotPageInfo (ScanPageInfo info) { this.info = info; } + public NotifyGotPageInfo (int job_id, ScanPageInfo info) { this.job_id = job_id; this.info = info; } + private int job_id; private ScanPageInfo info; - public override void run (Scanner scanner) { scanner.got_page_info (info); } + public override void run (Scanner scanner) + { + if (job_id >= scanner.first_job_id && job_id < scanner.job_id) + scanner.got_page_info (info); + } } private class NotifyPageDone : Notify { - public override void run (Scanner scanner) { scanner.page_done (); } + public NotifyPageDone (int job_id) { this.job_id = job_id; } + private int job_id; + public override void run (Scanner scanner) + { + if (job_id >= scanner.first_job_id && job_id < scanner.job_id) + scanner.page_done (); + } } private class NotifyGotLine : Notify { - public NotifyGotLine (ScanLine line) { this.line = line; } + public NotifyGotLine (int job_id, ScanLine line) { this.job_id = job_id; this.line = line; } + private int job_id; private ScanLine line; public override void run (Scanner scanner) { - scanner.got_line (line); + if (job_id >= scanner.first_job_id && job_id < scanner.job_id) + scanner.got_line (line); } } @@ -204,6 +218,10 @@ /* Queue of responses to authorization requests */ private AsyncQueue authorize_queue; + /* ID for the current job */ + public int first_job_id; + public int job_id; + private string? default_device; private ScanState state; @@ -278,7 +296,6 @@ if ((scanning && !is_scanning) || (!scanning && is_scanning)) { scanning = is_scanning; - scanning_changed (); notify (new NotifyScanningChanged ()); } } @@ -873,7 +890,7 @@ break; case ScanType.ADF_FRONT: if (!set_constrained_string_option (handle, option, index, adf_front_sources, null)) - if (!!set_constrained_string_option (handle, option, index, adf_sources, null)) + if (!set_constrained_string_option (handle, option, index, adf_sources, null)) warning ("Unable to set front ADF source, please file a bug"); break; case ScanType.ADF_BACK: @@ -1096,6 +1113,9 @@ private void do_complete_document () { + Sane.cancel (handle); + debug ("sane_cancel ()"); + job_queue.remove_link (job_queue); state = ScanState.IDLE; @@ -1172,7 +1192,7 @@ if (page_number != notified_page) { - notify (new NotifyGotPageInfo (info)); + notify (new NotifyGotPageInfo (job.id, info)); notified_page = page_number; } @@ -1187,10 +1207,10 @@ private void do_complete_page () { - notify (new NotifyPageDone ()); - var job = (ScanJob) job_queue.data; + notify (new NotifyPageDone (job.id)); + /* If multi-pass then scan another page */ if (!parameters.last_frame) { @@ -1204,14 +1224,11 @@ { page_number++; pass_number = 0; - notify (new NotifyPageDone ()); + notify (new NotifyPageDone (job.id)); state = ScanState.START; return; } - Sane.cancel (handle); - debug ("sane_cancel ()"); - do_complete_document (); } @@ -1348,7 +1365,7 @@ line.data_length = (line.width * 2 + 7) / 8; } - notify (new NotifyGotLine (line)); + notify (new NotifyGotLine (job.id, line)); } } @@ -1476,6 +1493,7 @@ get_scan_type_string (options.type), options.paper_width, options.paper_height); var request = new RequestStartScan (); request.job = new ScanJob (); + request.job.id = job_id++; request.job.device = device; request.job.dpi = options.dpi; request.job.scan_mode = options.scan_mode; @@ -1488,6 +1506,7 @@ public void cancel () { + first_job_id = job_id; request_queue.push (new RequestCancel ()); } diff -Nru simple-scan-3.4.1/src/simple-scan.c simple-scan-3.4.3/src/simple-scan.c --- simple-scan-3.4.1/src/simple-scan.c 2012-04-17 06:15:21.000000000 +0000 +++ simple-scan-3.4.3/src/simple-scan.c 2013-03-21 20:42:57.000000000 +0000 @@ -1,4 +1,4 @@ -/* simple-scan.c generated by valac 0.16.0, the Vala compiler +/* simple-scan.c generated by valac 0.18.1, the Vala compiler * generated from simple-scan.vala, do not modify */ /* @@ -2580,7 +2580,7 @@ static void application_finalize (Application* obj) { Application * self; - self = APPLICATION (obj); + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_APPLICATION, Application); _scan_device_unref0 (self->priv->default_device); _g_object_unref0 (self->priv->udev_client); _simple_scan_unref0 (self->priv->ui); diff -Nru simple-scan-3.4.1/src/ui.c simple-scan-3.4.3/src/ui.c --- simple-scan-3.4.1/src/ui.c 2012-04-17 06:15:21.000000000 +0000 +++ simple-scan-3.4.3/src/ui.c 2013-03-21 20:42:57.000000000 +0000 @@ -1,4 +1,4 @@ -/* ui.c generated by valac 0.16.0, the Vala compiler +/* ui.c generated by valac 0.18.1, the Vala compiler * generated from ui.vala, do not modify */ /* @@ -62,9 +62,6 @@ typedef struct _BookViewClass BookViewClass; #define TYPE_SCAN_DIRECTION (scan_direction_get_type ()) -#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) -#define _g_free0(var) (var = (g_free (var), NULL)) -#define _book_unref0(var) ((var == NULL) ? NULL : (var = (book_unref (var), NULL))) #define TYPE_PAGE (page_get_type ()) #define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page)) @@ -75,6 +72,9 @@ typedef struct _Page Page; typedef struct _PageClass PageClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _book_unref0(var) ((var == NULL) ? NULL : (var = (book_unref (var), NULL))) #define TYPE_SCAN_DEVICE (scan_device_get_type ()) #define SCAN_DEVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SCAN_DEVICE, ScanDevice)) @@ -258,12 +258,6 @@ enum { SIMPLE_SCAN_DUMMY_PROPERTY }; -#define SIMPLE_SCAN_DEFAULT_TEXT_DPI 150 -#define SIMPLE_SCAN_DEFAULT_PHOTO_DPI 300 -SimpleScan* simple_scan_new (void); -SimpleScan* simple_scan_construct (GType object_type); -Book* book_new (void); -Book* book_construct (GType object_type); gpointer page_ref (gpointer instance); void page_unref (gpointer instance); GParamSpec* param_spec_page (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); @@ -275,6 +269,12 @@ static void _simple_scan_page_removed_cb_book_page_removed (Book* _sender, Page* page, gpointer self); static void simple_scan_page_added_cb (SimpleScan* self, Book* book, Page* page); static void _simple_scan_page_added_cb_book_page_added (Book* _sender, Page* page, gpointer self); +#define SIMPLE_SCAN_DEFAULT_TEXT_DPI 150 +#define SIMPLE_SCAN_DEFAULT_PHOTO_DPI 300 +SimpleScan* simple_scan_new (void); +SimpleScan* simple_scan_construct (GType object_type); +Book* book_new (void); +Book* book_construct (GType object_type); static void simple_scan_load (SimpleScan* self); static gboolean simple_scan_find_scan_device (SimpleScan* self, const gchar* device, GtkTreeIter* iter); static void simple_scan_show_error_dialog (SimpleScan* self, const gchar* error_title, const gchar* error_text); @@ -522,20 +522,19 @@ GtkWindow* _tmp0_; const gchar* _tmp1_; GtkMessageDialog* _tmp2_; - GtkMessageDialog* _tmp3_; GtkMessageDialog* dialog; - const gchar* _tmp4_; + const gchar* _tmp3_; g_return_if_fail (self != NULL); g_return_if_fail (error_title != NULL); g_return_if_fail (error_text != NULL); _tmp0_ = self->priv->window; _tmp1_ = error_title; _tmp2_ = (GtkMessageDialog*) gtk_message_dialog_new (_tmp0_, GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_NONE, "%s", _tmp1_); - _tmp3_ = g_object_ref_sink (_tmp2_); - dialog = _tmp3_; + g_object_ref_sink (_tmp2_); + dialog = _tmp2_; gtk_dialog_add_button ((GtkDialog*) dialog, GTK_STOCK_CLOSE, 0); - _tmp4_ = error_text; - gtk_message_dialog_format_secondary_text (dialog, "%s", _tmp4_); + _tmp3_ = error_text; + gtk_message_dialog_format_secondary_text (dialog, "%s", _tmp3_); gtk_widget_destroy ((GtkWidget*) dialog); _g_object_unref0 (dialog); } @@ -1215,89 +1214,86 @@ GtkFileChooserDialog* _tmp11_; GtkFileChooserDialog* _tmp12_; GtkFileChooserDialog* _tmp13_; - GtkFileChooserDialog* _tmp14_; - const gchar* _tmp15_; - GtkFileChooserDialog* _tmp16_; - const gchar* _tmp17_; - GtkFileFilter* _tmp18_; - GtkFileFilter* _tmp19_; + const gchar* _tmp14_; + GtkFileChooserDialog* _tmp15_; + const gchar* _tmp16_; + GtkFileFilter* _tmp17_; GtkFileFilter* filter; + GtkFileFilter* _tmp18_; + const gchar* _tmp19_ = NULL; GtkFileFilter* _tmp20_; - const gchar* _tmp21_ = NULL; - GtkFileFilter* _tmp22_; + GtkFileFilter* _tmp21_; + GtkFileChooserDialog* _tmp22_; GtkFileFilter* _tmp23_; - GtkFileChooserDialog* _tmp24_; + GtkFileFilter* _tmp24_; GtkFileFilter* _tmp25_; - GtkFileFilter* _tmp26_; + const gchar* _tmp26_ = NULL; GtkFileFilter* _tmp27_; - GtkFileFilter* _tmp28_; - const gchar* _tmp29_ = NULL; - GtkFileFilter* _tmp30_; - GtkFileChooserDialog* _tmp31_; - GtkFileFilter* _tmp32_; - const gchar* _tmp33_ = NULL; - GtkExpander* _tmp34_; - GtkExpander* _tmp35_; + GtkFileChooserDialog* _tmp28_; + GtkFileFilter* _tmp29_; + const gchar* _tmp30_ = NULL; + GtkExpander* _tmp31_; GtkExpander* expander; - GtkExpander* _tmp36_; - GtkFileChooserDialog* _tmp37_; - GtkExpander* _tmp38_; - gchar* _tmp39_; + GtkExpander* _tmp32_; + GtkFileChooserDialog* _tmp33_; + GtkExpander* _tmp34_; + gchar* _tmp35_; gchar* extension; - const gchar* _tmp40_; - gint _tmp41_ = 0; + const gchar* _tmp36_; + gint _tmp37_ = 0; gint index; - gint _tmp42_; - GtkListStore* _tmp46_; + gint _tmp38_; + GtkListStore* _tmp42_; GtkListStore* file_type_store; GtkTreeIter iter = {0}; - GtkListStore* _tmp47_; - GtkTreeIter _tmp48_ = {0}; - GtkListStore* _tmp49_; - GtkTreeIter _tmp50_; - const gchar* _tmp51_ = NULL; - GtkListStore* _tmp52_; - GtkTreeIter _tmp53_ = {0}; - GtkListStore* _tmp54_; - GtkTreeIter _tmp55_; - const gchar* _tmp56_ = NULL; - GtkListStore* _tmp57_; - GtkTreeIter _tmp58_ = {0}; - GtkListStore* _tmp59_; - GtkTreeIter _tmp60_; - const gchar* _tmp61_ = NULL; - GtkListStore* _tmp62_; - GtkTreeView* _tmp63_; - GtkTreeView* _tmp64_; + GtkListStore* _tmp43_; + GtkTreeIter _tmp44_ = {0}; + GtkListStore* _tmp45_; + GtkTreeIter _tmp46_; + const gchar* _tmp47_ = NULL; + GtkListStore* _tmp48_; + GtkTreeIter _tmp49_ = {0}; + GtkListStore* _tmp50_; + GtkTreeIter _tmp51_; + const gchar* _tmp52_ = NULL; + GtkListStore* _tmp53_; + GtkTreeIter _tmp54_ = {0}; + GtkListStore* _tmp55_; + GtkTreeIter _tmp56_; + const gchar* _tmp57_ = NULL; + GtkListStore* _tmp58_; + GtkTreeView* _tmp59_; GtkTreeView* file_type_view; - GtkTreeView* _tmp65_; - GtkTreeView* _tmp66_; - GtkCellRendererText* _tmp67_; - GtkCellRendererText* _tmp68_; - GtkTreeViewColumn* _tmp69_; - GtkTreeViewColumn* _tmp70_; - GtkTreeViewColumn* _tmp71_; + GtkTreeView* _tmp60_; + GtkTreeView* _tmp61_; + GtkCellRendererText* _tmp62_; + GtkCellRendererText* _tmp63_; + GtkTreeViewColumn* _tmp64_; + GtkTreeViewColumn* _tmp65_; GtkTreeViewColumn* column; - GtkTreeView* _tmp72_; - GtkTreeViewColumn* _tmp73_; - GtkExpander* _tmp74_; - GtkTreeView* _tmp75_; - GtkListStore* _tmp76_; - GtkTreeIter _tmp77_ = {0}; - gboolean _tmp78_ = FALSE; - GtkTreeView* _tmp90_; - GtkTreeSelection* _tmp91_ = NULL; - GtkExpander* _tmp92_; - GtkFileChooserDialog* _tmp93_; - gint _tmp94_ = 0; + GtkTreeView* _tmp66_; + GtkTreeViewColumn* _tmp67_; + GtkExpander* _tmp68_; + GtkTreeView* _tmp69_; + GtkListStore* _tmp70_; + GtkTreeIter _tmp71_ = {0}; + gboolean _tmp72_ = FALSE; + GtkTreeView* _tmp84_; + GtkTreeSelection* _tmp85_ = NULL; + GtkExpander* _tmp86_; + GtkFileChooserDialog* _tmp87_; + gint _tmp88_ = 0; gint response; gchar* uri; - gint _tmp95_; - GSettings* _tmp98_; + gint _tmp89_; + GSettings* _tmp92_; + GtkFileChooserDialog* _tmp93_; + gchar* _tmp94_ = NULL; + gchar* _tmp95_; + GtkTreeView* _tmp96_; + GtkTreeSelection* _tmp97_ = NULL; + guint _tmp98_ = 0U; GtkFileChooserDialog* _tmp99_; - gchar* _tmp100_ = NULL; - gchar* _tmp101_; - GtkFileChooserDialog* _tmp102_; g_return_val_if_fail (self != NULL, NULL); directory = NULL; _tmp0_ = self->priv->settings; @@ -1324,182 +1320,187 @@ _tmp8_ = _ ("Save As..."); _tmp9_ = self->priv->window; _tmp10_ = (GtkFileChooserDialog*) gtk_file_chooser_dialog_new (_tmp8_, _tmp9_, GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL, NULL); - _tmp11_ = g_object_ref_sink (_tmp10_); + g_object_ref_sink (_tmp10_); _g_object_unref0 (self->priv->save_dialog); - self->priv->save_dialog = _tmp11_; + self->priv->save_dialog = _tmp10_; + _tmp11_ = self->priv->save_dialog; + gtk_file_chooser_set_do_overwrite_confirmation ((GtkFileChooser*) _tmp11_, TRUE); _tmp12_ = self->priv->save_dialog; - gtk_file_chooser_set_do_overwrite_confirmation ((GtkFileChooser*) _tmp12_, TRUE); + gtk_file_chooser_set_local_only ((GtkFileChooser*) _tmp12_, FALSE); _tmp13_ = self->priv->save_dialog; - gtk_file_chooser_set_local_only ((GtkFileChooser*) _tmp13_, FALSE); - _tmp14_ = self->priv->save_dialog; - _tmp15_ = directory; - gtk_file_chooser_set_current_folder ((GtkFileChooser*) _tmp14_, _tmp15_); - _tmp16_ = self->priv->save_dialog; - _tmp17_ = self->priv->default_file_name; - gtk_file_chooser_set_current_name ((GtkFileChooser*) _tmp16_, _tmp17_); - _tmp18_ = gtk_file_filter_new (); - _tmp19_ = g_object_ref_sink (_tmp18_); - filter = _tmp19_; + _tmp14_ = directory; + gtk_file_chooser_set_current_folder ((GtkFileChooser*) _tmp13_, _tmp14_); + _tmp15_ = self->priv->save_dialog; + _tmp16_ = self->priv->default_file_name; + gtk_file_chooser_set_current_name ((GtkFileChooser*) _tmp15_, _tmp16_); + _tmp17_ = gtk_file_filter_new (); + g_object_ref_sink (_tmp17_); + filter = _tmp17_; + _tmp18_ = filter; + _tmp19_ = _ ("Image Files"); + gtk_file_filter_set_name (_tmp18_, _tmp19_); _tmp20_ = filter; - _tmp21_ = _ ("Image Files"); - gtk_buildable_set_name ((GtkBuildable*) _tmp20_, _tmp21_); - _tmp22_ = filter; - gtk_file_filter_add_pixbuf_formats (_tmp22_); + gtk_file_filter_add_pixbuf_formats (_tmp20_); + _tmp21_ = filter; + gtk_file_filter_add_mime_type (_tmp21_, "application/pdf"); + _tmp22_ = self->priv->save_dialog; _tmp23_ = filter; - gtk_file_filter_add_mime_type (_tmp23_, "application/pdf"); - _tmp24_ = self->priv->save_dialog; - _tmp25_ = filter; - gtk_file_chooser_add_filter ((GtkFileChooser*) _tmp24_, _tmp25_); - _tmp26_ = gtk_file_filter_new (); - _tmp27_ = g_object_ref_sink (_tmp26_); + gtk_file_chooser_add_filter ((GtkFileChooser*) _tmp22_, _tmp23_); + _tmp24_ = gtk_file_filter_new (); + g_object_ref_sink (_tmp24_); _g_object_unref0 (filter); - filter = _tmp27_; - _tmp28_ = filter; - _tmp29_ = _ ("All Files"); - gtk_buildable_set_name ((GtkBuildable*) _tmp28_, _tmp29_); - _tmp30_ = filter; - gtk_file_filter_add_pattern (_tmp30_, "*"); - _tmp31_ = self->priv->save_dialog; - _tmp32_ = filter; - gtk_file_chooser_add_filter ((GtkFileChooser*) _tmp31_, _tmp32_); - _tmp33_ = _ ("Select File _Type"); - _tmp34_ = (GtkExpander*) gtk_expander_new_with_mnemonic (_tmp33_); - _tmp35_ = g_object_ref_sink (_tmp34_); - expander = _tmp35_; - _tmp36_ = expander; - gtk_expander_set_spacing (_tmp36_, 5); - _tmp37_ = self->priv->save_dialog; - _tmp38_ = expander; - gtk_file_chooser_set_extra_widget ((GtkFileChooser*) _tmp37_, (GtkWidget*) _tmp38_); - _tmp39_ = g_strdup (""); - extension = _tmp39_; - _tmp40_ = self->priv->default_file_name; - _tmp41_ = string_last_index_of_char (_tmp40_, (gunichar) '.', 0); - index = _tmp41_; - _tmp42_ = index; - if (_tmp42_ >= 0) { - const gchar* _tmp43_; - gint _tmp44_; - gchar* _tmp45_ = NULL; - _tmp43_ = self->priv->default_file_name; - _tmp44_ = index; - _tmp45_ = string_slice (_tmp43_, (glong) 0, (glong) _tmp44_); + filter = _tmp24_; + _tmp25_ = filter; + _tmp26_ = _ ("All Files"); + gtk_file_filter_set_name (_tmp25_, _tmp26_); + _tmp27_ = filter; + gtk_file_filter_add_pattern (_tmp27_, "*"); + _tmp28_ = self->priv->save_dialog; + _tmp29_ = filter; + gtk_file_chooser_add_filter ((GtkFileChooser*) _tmp28_, _tmp29_); + _tmp30_ = _ ("Select File _Type"); + _tmp31_ = (GtkExpander*) gtk_expander_new_with_mnemonic (_tmp30_); + g_object_ref_sink (_tmp31_); + expander = _tmp31_; + _tmp32_ = expander; + gtk_expander_set_spacing (_tmp32_, 5); + _tmp33_ = self->priv->save_dialog; + _tmp34_ = expander; + gtk_file_chooser_set_extra_widget ((GtkFileChooser*) _tmp33_, (GtkWidget*) _tmp34_); + _tmp35_ = g_strdup (""); + extension = _tmp35_; + _tmp36_ = self->priv->default_file_name; + _tmp37_ = string_last_index_of_char (_tmp36_, (gunichar) '.', 0); + index = _tmp37_; + _tmp38_ = index; + if (_tmp38_ >= 0) { + const gchar* _tmp39_; + gint _tmp40_; + gchar* _tmp41_ = NULL; + _tmp39_ = self->priv->default_file_name; + _tmp40_ = index; + _tmp41_ = string_slice (_tmp39_, (glong) 0, (glong) _tmp40_); _g_free0 (extension); - extension = _tmp45_; + extension = _tmp41_; } - _tmp46_ = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING); - file_type_store = _tmp46_; - _tmp47_ = file_type_store; - gtk_list_store_append (_tmp47_, &_tmp48_); - iter = _tmp48_; - _tmp49_ = file_type_store; - _tmp50_ = iter; - _tmp51_ = _ ("PDF (multi-page document)"); - gtk_list_store_set (_tmp49_, &_tmp50_, 0, _tmp51_, 1, ".pdf", -1, -1); - _tmp52_ = file_type_store; - gtk_list_store_append (_tmp52_, &_tmp53_); - iter = _tmp53_; - _tmp54_ = file_type_store; - _tmp55_ = iter; - _tmp56_ = _ ("JPEG (compressed)"); - gtk_list_store_set (_tmp54_, &_tmp55_, 0, _tmp56_, 1, ".jpg", -1, -1); - _tmp57_ = file_type_store; - gtk_list_store_append (_tmp57_, &_tmp58_); - iter = _tmp58_; - _tmp59_ = file_type_store; - _tmp60_ = iter; - _tmp61_ = _ ("PNG (lossless)"); - gtk_list_store_set (_tmp59_, &_tmp60_, 0, _tmp61_, 1, ".png", -1, -1); - _tmp62_ = file_type_store; - _tmp63_ = (GtkTreeView*) gtk_tree_view_new_with_model ((GtkTreeModel*) _tmp62_); - _tmp64_ = g_object_ref_sink (_tmp63_); - file_type_view = _tmp64_; - _tmp65_ = file_type_view; - gtk_tree_view_set_headers_visible (_tmp65_, FALSE); + _tmp42_ = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING); + file_type_store = _tmp42_; + _tmp43_ = file_type_store; + gtk_list_store_append (_tmp43_, &_tmp44_); + iter = _tmp44_; + _tmp45_ = file_type_store; + _tmp46_ = iter; + _tmp47_ = _ ("PDF (multi-page document)"); + gtk_list_store_set (_tmp45_, &_tmp46_, 0, _tmp47_, 1, ".pdf", -1, -1); + _tmp48_ = file_type_store; + gtk_list_store_append (_tmp48_, &_tmp49_); + iter = _tmp49_; + _tmp50_ = file_type_store; + _tmp51_ = iter; + _tmp52_ = _ ("JPEG (compressed)"); + gtk_list_store_set (_tmp50_, &_tmp51_, 0, _tmp52_, 1, ".jpg", -1, -1); + _tmp53_ = file_type_store; + gtk_list_store_append (_tmp53_, &_tmp54_); + iter = _tmp54_; + _tmp55_ = file_type_store; + _tmp56_ = iter; + _tmp57_ = _ ("PNG (lossless)"); + gtk_list_store_set (_tmp55_, &_tmp56_, 0, _tmp57_, 1, ".png", -1, -1); + _tmp58_ = file_type_store; + _tmp59_ = (GtkTreeView*) gtk_tree_view_new_with_model ((GtkTreeModel*) _tmp58_); + g_object_ref_sink (_tmp59_); + file_type_view = _tmp59_; + _tmp60_ = file_type_view; + gtk_tree_view_set_headers_visible (_tmp60_, FALSE); + _tmp61_ = file_type_view; + gtk_tree_view_set_rules_hint (_tmp61_, TRUE); + _tmp62_ = (GtkCellRendererText*) gtk_cell_renderer_text_new (); + g_object_ref_sink (_tmp62_); + _tmp63_ = _tmp62_; + _tmp64_ = gtk_tree_view_column_new_with_attributes ("", (GtkCellRenderer*) _tmp63_, "text", 0, NULL, NULL); + g_object_ref_sink (_tmp64_); + _tmp65_ = _tmp64_; + _g_object_unref0 (_tmp63_); + column = _tmp65_; _tmp66_ = file_type_view; - gtk_tree_view_set_rules_hint (_tmp66_, TRUE); - _tmp67_ = (GtkCellRendererText*) gtk_cell_renderer_text_new (); - _tmp68_ = g_object_ref_sink (_tmp67_); - _tmp69_ = gtk_tree_view_column_new_with_attributes ("", (GtkCellRenderer*) _tmp68_, "text", 0, NULL, NULL); - _tmp70_ = g_object_ref_sink (_tmp69_); - _tmp71_ = _tmp70_; - _g_object_unref0 (_tmp68_); - column = _tmp71_; - _tmp72_ = file_type_view; - _tmp73_ = column; - gtk_tree_view_append_column (_tmp72_, _tmp73_); - _tmp74_ = expander; - _tmp75_ = file_type_view; - gtk_container_add ((GtkContainer*) _tmp74_, (GtkWidget*) _tmp75_); - _tmp76_ = file_type_store; - _tmp78_ = gtk_tree_model_get_iter_first ((GtkTreeModel*) _tmp76_, &_tmp77_); - iter = _tmp77_; - if (_tmp78_) { + _tmp67_ = column; + gtk_tree_view_append_column (_tmp66_, _tmp67_); + _tmp68_ = expander; + _tmp69_ = file_type_view; + gtk_container_add ((GtkContainer*) _tmp68_, (GtkWidget*) _tmp69_); + _tmp70_ = file_type_store; + _tmp72_ = gtk_tree_model_get_iter_first ((GtkTreeModel*) _tmp70_, &_tmp71_); + iter = _tmp71_; + if (_tmp72_) { { - gboolean _tmp79_; - _tmp79_ = TRUE; + gboolean _tmp73_; + _tmp73_ = TRUE; while (TRUE) { - gboolean _tmp80_; + gboolean _tmp74_; gchar* e = NULL; - GtkListStore* _tmp83_; - GtkTreeIter _tmp84_; - const gchar* _tmp85_; - const gchar* _tmp86_; - _tmp80_ = _tmp79_; - if (!_tmp80_) { - GtkListStore* _tmp81_; - gboolean _tmp82_ = FALSE; - _tmp81_ = file_type_store; - _tmp82_ = gtk_tree_model_iter_next ((GtkTreeModel*) _tmp81_, &iter); - if (!_tmp82_) { + GtkListStore* _tmp77_; + GtkTreeIter _tmp78_; + const gchar* _tmp79_; + const gchar* _tmp80_; + _tmp74_ = _tmp73_; + if (!_tmp74_) { + GtkListStore* _tmp75_; + gboolean _tmp76_ = FALSE; + _tmp75_ = file_type_store; + _tmp76_ = gtk_tree_model_iter_next ((GtkTreeModel*) _tmp75_, &iter); + if (!_tmp76_) { break; } } - _tmp79_ = FALSE; - _tmp83_ = file_type_store; - _tmp84_ = iter; - gtk_tree_model_get ((GtkTreeModel*) _tmp83_, &_tmp84_, 1, &e, -1, -1); - _tmp85_ = extension; - _tmp86_ = e; - if (g_strcmp0 (_tmp85_, _tmp86_) == 0) { - GtkTreeView* _tmp87_; - GtkTreeSelection* _tmp88_ = NULL; - GtkTreeIter _tmp89_; - _tmp87_ = file_type_view; - _tmp88_ = gtk_tree_view_get_selection (_tmp87_); - _tmp89_ = iter; - gtk_tree_selection_select_iter (_tmp88_, &_tmp89_); + _tmp73_ = FALSE; + _tmp77_ = file_type_store; + _tmp78_ = iter; + gtk_tree_model_get ((GtkTreeModel*) _tmp77_, &_tmp78_, 1, &e, -1, -1); + _tmp79_ = extension; + _tmp80_ = e; + if (g_strcmp0 (_tmp79_, _tmp80_) == 0) { + GtkTreeView* _tmp81_; + GtkTreeSelection* _tmp82_ = NULL; + GtkTreeIter _tmp83_; + _tmp81_ = file_type_view; + _tmp82_ = gtk_tree_view_get_selection (_tmp81_); + _tmp83_ = iter; + gtk_tree_selection_select_iter (_tmp82_, &_tmp83_); } _g_free0 (e); } } } - _tmp90_ = file_type_view; - _tmp91_ = gtk_tree_view_get_selection (_tmp90_); - g_signal_connect (_tmp91_, "changed", (GCallback) _simple_scan_on_file_type_changed_gtk_tree_selection_changed, self); - _tmp92_ = expander; - gtk_widget_show_all ((GtkWidget*) _tmp92_); - _tmp93_ = self->priv->save_dialog; - _tmp94_ = gtk_dialog_run ((GtkDialog*) _tmp93_); - response = _tmp94_; + _tmp84_ = file_type_view; + _tmp85_ = gtk_tree_view_get_selection (_tmp84_); + g_signal_connect (_tmp85_, "changed", (GCallback) _simple_scan_on_file_type_changed_gtk_tree_selection_changed, self); + _tmp86_ = expander; + gtk_widget_show_all ((GtkWidget*) _tmp86_); + _tmp87_ = self->priv->save_dialog; + _tmp88_ = gtk_dialog_run ((GtkDialog*) _tmp87_); + response = _tmp88_; uri = NULL; - _tmp95_ = response; - if (_tmp95_ == ((gint) GTK_RESPONSE_ACCEPT)) { - GtkFileChooserDialog* _tmp96_; - gchar* _tmp97_ = NULL; - _tmp96_ = self->priv->save_dialog; - _tmp97_ = gtk_file_chooser_get_uri ((GtkFileChooser*) _tmp96_); + _tmp89_ = response; + if (_tmp89_ == ((gint) GTK_RESPONSE_ACCEPT)) { + GtkFileChooserDialog* _tmp90_; + gchar* _tmp91_ = NULL; + _tmp90_ = self->priv->save_dialog; + _tmp91_ = gtk_file_chooser_get_uri ((GtkFileChooser*) _tmp90_); _g_free0 (uri); - uri = _tmp97_; + uri = _tmp91_; } - _tmp98_ = self->priv->settings; + _tmp92_ = self->priv->settings; + _tmp93_ = self->priv->save_dialog; + _tmp94_ = gtk_file_chooser_get_current_folder ((GtkFileChooser*) _tmp93_); + _tmp95_ = _tmp94_; + g_settings_set_string (_tmp92_, "save-directory", _tmp95_); + _g_free0 (_tmp95_); + _tmp96_ = file_type_view; + _tmp97_ = gtk_tree_view_get_selection (_tmp96_); + g_signal_parse_name ("changed", GTK_TYPE_TREE_SELECTION, &_tmp98_, NULL, FALSE); + g_signal_handlers_disconnect_matched (_tmp97_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp98_, 0, NULL, (GCallback) _simple_scan_on_file_type_changed_gtk_tree_selection_changed, self); _tmp99_ = self->priv->save_dialog; - _tmp100_ = gtk_file_chooser_get_current_folder ((GtkFileChooser*) _tmp99_); - _tmp101_ = _tmp100_; - g_settings_set_string (_tmp98_, "save-directory", _tmp101_); - _g_free0 (_tmp101_); - _tmp102_ = self->priv->save_dialog; - gtk_widget_destroy ((GtkWidget*) _tmp102_); + gtk_widget_destroy ((GtkWidget*) _tmp99_); _g_object_unref0 (self->priv->save_dialog); self->priv->save_dialog = NULL; result = uri; @@ -1569,7 +1570,7 @@ _tmp9_ = g_file_new_for_uri (_tmp8_); file = _tmp9_; _tmp10_ = uri; - g_debug ("ui.vala:445: Saving to '%s'", _tmp10_); + g_debug ("ui.vala:452: Saving to '%s'", _tmp10_); _tmp11_ = uri; _tmp12_ = g_utf8_strdown (_tmp11_, (gssize) (-1)); uri_lower = _tmp12_; @@ -1653,7 +1654,7 @@ _inner_error_ = NULL; _tmp33_ = e; _tmp34_ = _tmp33_->message; - g_warning ("ui.vala:464: Error saving file: %s", _tmp34_); + g_warning ("ui.vala:471: Error saving file: %s", _tmp34_); _tmp35_ = _ ("Failed to save file"); _tmp36_ = e; _tmp37_ = _tmp36_->message; @@ -1698,19 +1699,18 @@ GtkWindow* _tmp2_; const gchar* _tmp3_; GtkMessageDialog* _tmp4_; - GtkMessageDialog* _tmp5_; GtkMessageDialog* dialog; - GtkMessageDialog* _tmp6_; - const gchar* _tmp7_ = NULL; - GtkMessageDialog* _tmp8_; - const gchar* _tmp9_; + GtkMessageDialog* _tmp5_; + const gchar* _tmp6_ = NULL; + GtkMessageDialog* _tmp7_; + const gchar* _tmp8_; + GtkMessageDialog* _tmp9_; GtkMessageDialog* _tmp10_; GtkMessageDialog* _tmp11_; - GtkMessageDialog* _tmp12_; - gint _tmp13_ = 0; + gint _tmp12_ = 0; gint response; - GtkMessageDialog* _tmp14_; - gint _tmp15_; + GtkMessageDialog* _tmp13_; + gint _tmp14_; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (title != NULL, FALSE); g_return_val_if_fail (discard_label != NULL, FALSE); @@ -1723,30 +1723,30 @@ _tmp2_ = self->priv->window; _tmp3_ = title; _tmp4_ = (GtkMessageDialog*) gtk_message_dialog_new (_tmp2_, GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_NONE, "%s", _tmp3_); - _tmp5_ = g_object_ref_sink (_tmp4_); - dialog = _tmp5_; - _tmp6_ = dialog; - _tmp7_ = _ ("If you don't save, changes will be permanently lost."); - gtk_message_dialog_format_secondary_text (_tmp6_, "%s", _tmp7_); - _tmp8_ = dialog; - _tmp9_ = discard_label; - gtk_dialog_add_button ((GtkDialog*) _tmp8_, _tmp9_, (gint) GTK_RESPONSE_NO); + g_object_ref_sink (_tmp4_); + dialog = _tmp4_; + _tmp5_ = dialog; + _tmp6_ = _ ("If you don't save, changes will be permanently lost."); + gtk_message_dialog_format_secondary_text (_tmp5_, "%s", _tmp6_); + _tmp7_ = dialog; + _tmp8_ = discard_label; + gtk_dialog_add_button ((GtkDialog*) _tmp7_, _tmp8_, (gint) GTK_RESPONSE_NO); + _tmp9_ = dialog; + gtk_dialog_add_button ((GtkDialog*) _tmp9_, GTK_STOCK_CANCEL, (gint) GTK_RESPONSE_CANCEL); _tmp10_ = dialog; - gtk_dialog_add_button ((GtkDialog*) _tmp10_, GTK_STOCK_CANCEL, (gint) GTK_RESPONSE_CANCEL); + gtk_dialog_add_button ((GtkDialog*) _tmp10_, GTK_STOCK_SAVE, (gint) GTK_RESPONSE_YES); _tmp11_ = dialog; - gtk_dialog_add_button ((GtkDialog*) _tmp11_, GTK_STOCK_SAVE, (gint) GTK_RESPONSE_YES); - _tmp12_ = dialog; - _tmp13_ = gtk_dialog_run ((GtkDialog*) _tmp12_); - response = _tmp13_; - _tmp14_ = dialog; - gtk_widget_destroy ((GtkWidget*) _tmp14_); - _tmp15_ = response; - switch (_tmp15_) { + _tmp12_ = gtk_dialog_run ((GtkDialog*) _tmp11_); + response = _tmp12_; + _tmp13_ = dialog; + gtk_widget_destroy ((GtkWidget*) _tmp13_); + _tmp14_ = response; + switch (_tmp14_) { case GTK_RESPONSE_YES: { - gboolean _tmp16_ = FALSE; - _tmp16_ = simple_scan_save_document (self, FALSE); - if (_tmp16_) { + gboolean _tmp15_ = FALSE; + _tmp15_ = simple_scan_save_document (self, FALSE); + if (_tmp15_) { result = TRUE; _g_object_unref0 (dialog); return result; @@ -1795,6 +1795,7 @@ const gchar* _tmp0_ = NULL; const gchar* _tmp1_ = NULL; gboolean _tmp2_ = FALSE; + gboolean _tmp3_; g_return_if_fail (self != NULL); g_return_if_fail (widget != NULL); _tmp0_ = _ ("Save current document?"); @@ -1803,6 +1804,10 @@ if (!_tmp2_) { return; } + _tmp3_ = self->priv->scanning; + if (_tmp3_) { + g_signal_emit_by_name (self, "stop-scan"); + } simple_scan_clear_document (self); } @@ -2396,13 +2401,13 @@ _tmp20_ = self->priv->builder; _tmp21_ = name; _tmp22_ = gtk_builder_get_object (_tmp20_, _tmp21_); - _tmp23_ = _g_object_ref0 (GTK_RADIO_MENU_ITEM (_tmp22_)); + _tmp23_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GTK_TYPE_RADIO_MENU_ITEM, GtkRadioMenuItem)); menuitem = _tmp23_; _tmp24_ = menuitem; gtk_check_menu_item_set_active ((GtkCheckMenuItem*) _tmp24_, TRUE); _tmp25_ = self->priv->builder; _tmp26_ = gtk_builder_get_object (_tmp25_, "crop_toolbutton"); - _tmp27_ = _g_object_ref0 (GTK_TOGGLE_TOOL_BUTTON (_tmp26_)); + _tmp27_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GTK_TYPE_TOGGLE_TOOL_BUTTON, GtkToggleToolButton)); toolbutton = _tmp27_; _tmp28_ = toolbutton; _tmp29_ = page; @@ -2457,7 +2462,7 @@ _inner_error_ = NULL; _tmp7_ = e; _tmp8_ = _tmp7_->message; - g_warning ("ui.vala:789: Error saving email attachment: %s", _tmp8_); + g_warning ("ui.vala:798: Error saving email attachment: %s", _tmp8_); result = NULL; _g_error_free0 (e); _g_free0 (path); @@ -2592,7 +2597,7 @@ g_return_if_fail (view != NULL); _tmp0_ = self->priv->builder; _tmp1_ = gtk_builder_get_object (_tmp0_, "page_menu"); - _tmp2_ = _g_object_ref0 (GTK_MENU (_tmp1_)); + _tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GTK_TYPE_MENU, GtkMenu)); menu = _tmp2_; _tmp3_ = gtk_get_current_event_time (); gtk_menu_popup (menu, NULL, NULL, NULL, NULL, (guint) 3, _tmp3_); @@ -2782,7 +2787,7 @@ GtkRadioMenuItem* _tmp5_; _tmp3_ = self->priv->builder; _tmp4_ = gtk_builder_get_object (_tmp3_, "custom_crop_menuitem"); - _tmp5_ = _g_object_ref0 (GTK_RADIO_MENU_ITEM (_tmp4_)); + _tmp5_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GTK_TYPE_RADIO_MENU_ITEM, GtkRadioMenuItem)); _g_object_unref0 (menuitem); menuitem = _tmp5_; } else { @@ -2791,7 +2796,7 @@ GtkRadioMenuItem* _tmp8_; _tmp6_ = self->priv->builder; _tmp7_ = gtk_builder_get_object (_tmp6_, "no_crop_menuitem"); - _tmp8_ = _g_object_ref0 (GTK_RADIO_MENU_ITEM (_tmp7_)); + _tmp8_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GTK_TYPE_RADIO_MENU_ITEM, GtkRadioMenuItem)); _g_object_unref0 (menuitem); menuitem = _tmp8_; } @@ -3122,6 +3127,7 @@ GtkPrintOperation* print; Book* _tmp1_; guint _tmp2_ = 0U; + guint _tmp6_ = 0U; GError * _inner_error_ = NULL; g_return_if_fail (self != NULL); g_return_if_fail (widget != NULL); @@ -3149,7 +3155,7 @@ _inner_error_ = NULL; _tmp4_ = e; _tmp5_ = _tmp4_->message; - g_warning ("ui.vala:1045: Error printing: %s", _tmp5_); + g_warning ("ui.vala:1054: Error printing: %s", _tmp5_); _g_error_free0 (e); } __finally19: @@ -3159,6 +3165,8 @@ g_clear_error (&_inner_error_); return; } + g_signal_parse_name ("draw-page", GTK_TYPE_PRINT_OPERATION, &_tmp6_, NULL, FALSE); + g_signal_handlers_disconnect_matched (print, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp6_, 0, NULL, (GCallback) _simple_scan_draw_page_gtk_print_operation_draw_page, self); _g_object_unref0 (print); } @@ -3529,14 +3537,24 @@ static void simple_scan_page_removed_cb (SimpleScan* self, Book* book, Page* page) { - Book* _tmp0_; + Page* _tmp0_; guint _tmp1_ = 0U; + Page* _tmp2_; + guint _tmp3_ = 0U; + Book* _tmp4_; + guint _tmp5_ = 0U; g_return_if_fail (self != NULL); g_return_if_fail (book != NULL); g_return_if_fail (page != NULL); - _tmp0_ = book; - _tmp1_ = book_get_n_pages (_tmp0_); - if (_tmp1_ == ((guint) 1)) { + _tmp0_ = page; + g_signal_parse_name ("size-changed", TYPE_PAGE, &_tmp1_, NULL, FALSE); + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _simple_scan_page_size_changed_cb_page_size_changed, self); + _tmp2_ = page; + g_signal_parse_name ("scan-direction-changed", TYPE_PAGE, &_tmp3_, NULL, FALSE); + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _simple_scan_page_scan_direction_changed_cb_page_scan_direction_changed, self); + _tmp4_ = book; + _tmp5_ = book_get_n_pages (_tmp4_); + if (_tmp5_ == ((guint) 1)) { simple_scan_add_default_page (self); } simple_scan_update_page_menu (self); @@ -3545,135 +3563,134 @@ static void simple_scan_set_dpi_combo (SimpleScan* self, GtkComboBox* combo, gint default_dpi, gint current_dpi) { GtkCellRendererText* _tmp0_; - GtkCellRendererText* _tmp1_; GtkCellRendererText* renderer; - GtkComboBox* _tmp2_; - GtkCellRendererText* _tmp3_; - GtkComboBox* _tmp4_; - GtkCellRendererText* _tmp5_; - GtkComboBox* _tmp6_; - GtkTreeModel* _tmp7_ = NULL; - GtkListStore* _tmp8_; + GtkComboBox* _tmp1_; + GtkCellRendererText* _tmp2_; + GtkComboBox* _tmp3_; + GtkCellRendererText* _tmp4_; + GtkComboBox* _tmp5_; + GtkTreeModel* _tmp6_ = NULL; + GtkListStore* _tmp7_; GtkListStore* model; - gint* _tmp9_ = NULL; + gint* _tmp8_ = NULL; gint* scan_resolutions; gint scan_resolutions_length1; gint _scan_resolutions_size_; - gint* _tmp10_; - gint _tmp10__length1; + gint* _tmp9_; + gint _tmp9__length1; g_return_if_fail (self != NULL); g_return_if_fail (combo != NULL); _tmp0_ = (GtkCellRendererText*) gtk_cell_renderer_text_new (); - _tmp1_ = g_object_ref_sink (_tmp0_); - renderer = _tmp1_; - _tmp2_ = combo; - _tmp3_ = renderer; - gtk_cell_layout_pack_start ((GtkCellLayout*) _tmp2_, (GtkCellRenderer*) _tmp3_, TRUE); - _tmp4_ = combo; - _tmp5_ = renderer; - gtk_cell_layout_add_attribute ((GtkCellLayout*) _tmp4_, (GtkCellRenderer*) _tmp5_, "text", 1); - _tmp6_ = combo; - _tmp7_ = gtk_combo_box_get_model (_tmp6_); - _tmp8_ = _g_object_ref0 (GTK_LIST_STORE (_tmp7_)); - model = _tmp8_; - _tmp9_ = g_new0 (gint, 6); - _tmp9_[0] = 75; - _tmp9_[1] = 150; - _tmp9_[2] = 300; - _tmp9_[3] = 600; - _tmp9_[4] = 1200; - _tmp9_[5] = 2400; - scan_resolutions = _tmp9_; + g_object_ref_sink (_tmp0_); + renderer = _tmp0_; + _tmp1_ = combo; + _tmp2_ = renderer; + gtk_cell_layout_pack_start ((GtkCellLayout*) _tmp1_, (GtkCellRenderer*) _tmp2_, TRUE); + _tmp3_ = combo; + _tmp4_ = renderer; + gtk_cell_layout_add_attribute ((GtkCellLayout*) _tmp3_, (GtkCellRenderer*) _tmp4_, "text", 1); + _tmp5_ = combo; + _tmp6_ = gtk_combo_box_get_model (_tmp5_); + _tmp7_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GTK_TYPE_LIST_STORE, GtkListStore)); + model = _tmp7_; + _tmp8_ = g_new0 (gint, 6); + _tmp8_[0] = 75; + _tmp8_[1] = 150; + _tmp8_[2] = 300; + _tmp8_[3] = 600; + _tmp8_[4] = 1200; + _tmp8_[5] = 2400; + scan_resolutions = _tmp8_; scan_resolutions_length1 = 6; _scan_resolutions_size_ = scan_resolutions_length1; - _tmp10_ = scan_resolutions; - _tmp10__length1 = scan_resolutions_length1; + _tmp9_ = scan_resolutions; + _tmp9__length1 = scan_resolutions_length1; { gint* dpi_collection = NULL; gint dpi_collection_length1 = 0; gint _dpi_collection_size_ = 0; gint dpi_it = 0; - dpi_collection = _tmp10_; - dpi_collection_length1 = _tmp10__length1; - for (dpi_it = 0; dpi_it < _tmp10__length1; dpi_it = dpi_it + 1) { + dpi_collection = _tmp9_; + dpi_collection_length1 = _tmp9__length1; + for (dpi_it = 0; dpi_it < _tmp9__length1; dpi_it = dpi_it + 1) { gint dpi = 0; dpi = dpi_collection[dpi_it]; { gchar* label = NULL; + gint _tmp10_; gint _tmp11_; - gint _tmp12_; GtkTreeIter iter = {0}; - GtkListStore* _tmp27_; - GtkTreeIter _tmp28_ = {0}; - GtkListStore* _tmp29_; - GtkTreeIter _tmp30_; - gint _tmp31_; - const gchar* _tmp32_; + GtkListStore* _tmp26_; + GtkTreeIter _tmp27_ = {0}; + GtkListStore* _tmp28_; + GtkTreeIter _tmp29_; + gint _tmp30_; + const gchar* _tmp31_; + gint _tmp32_; gint _tmp33_; - gint _tmp34_; - _tmp11_ = dpi; - _tmp12_ = default_dpi; - if (_tmp11_ == _tmp12_) { - const gchar* _tmp13_ = NULL; - gint _tmp14_; - gchar* _tmp15_ = NULL; - _tmp13_ = _ ("%d dpi (default)"); - _tmp14_ = dpi; - _tmp15_ = g_strdup_printf (_tmp13_, _tmp14_); + _tmp10_ = dpi; + _tmp11_ = default_dpi; + if (_tmp10_ == _tmp11_) { + const gchar* _tmp12_ = NULL; + gint _tmp13_; + gchar* _tmp14_ = NULL; + _tmp12_ = _ ("%d dpi (default)"); + _tmp13_ = dpi; + _tmp14_ = g_strdup_printf (_tmp12_, _tmp13_); _g_free0 (label); - label = _tmp15_; + label = _tmp14_; } else { - gint _tmp16_; - _tmp16_ = dpi; - if (_tmp16_ == 75) { - const gchar* _tmp17_ = NULL; - gint _tmp18_; - gchar* _tmp19_ = NULL; - _tmp17_ = _ ("%d dpi (draft)"); - _tmp18_ = dpi; - _tmp19_ = g_strdup_printf (_tmp17_, _tmp18_); + gint _tmp15_; + _tmp15_ = dpi; + if (_tmp15_ == 75) { + const gchar* _tmp16_ = NULL; + gint _tmp17_; + gchar* _tmp18_ = NULL; + _tmp16_ = _ ("%d dpi (draft)"); + _tmp17_ = dpi; + _tmp18_ = g_strdup_printf (_tmp16_, _tmp17_); _g_free0 (label); - label = _tmp19_; + label = _tmp18_; } else { - gint _tmp20_; - _tmp20_ = dpi; - if (_tmp20_ == 1200) { - const gchar* _tmp21_ = NULL; - gint _tmp22_; - gchar* _tmp23_ = NULL; - _tmp21_ = _ ("%d dpi (high resolution)"); - _tmp22_ = dpi; - _tmp23_ = g_strdup_printf (_tmp21_, _tmp22_); + gint _tmp19_; + _tmp19_ = dpi; + if (_tmp19_ == 1200) { + const gchar* _tmp20_ = NULL; + gint _tmp21_; + gchar* _tmp22_ = NULL; + _tmp20_ = _ ("%d dpi (high resolution)"); + _tmp21_ = dpi; + _tmp22_ = g_strdup_printf (_tmp20_, _tmp21_); _g_free0 (label); - label = _tmp23_; + label = _tmp22_; } else { - const gchar* _tmp24_ = NULL; - gint _tmp25_; - gchar* _tmp26_ = NULL; - _tmp24_ = _ ("%d dpi"); - _tmp25_ = dpi; - _tmp26_ = g_strdup_printf (_tmp24_, _tmp25_); + const gchar* _tmp23_ = NULL; + gint _tmp24_; + gchar* _tmp25_ = NULL; + _tmp23_ = _ ("%d dpi"); + _tmp24_ = dpi; + _tmp25_ = g_strdup_printf (_tmp23_, _tmp24_); _g_free0 (label); - label = _tmp26_; + label = _tmp25_; } } } - _tmp27_ = model; - gtk_list_store_append (_tmp27_, &_tmp28_); - iter = _tmp28_; - _tmp29_ = model; - _tmp30_ = iter; - _tmp31_ = dpi; - _tmp32_ = label; - gtk_list_store_set (_tmp29_, &_tmp30_, 0, _tmp31_, 1, _tmp32_, -1, -1); - _tmp33_ = dpi; - _tmp34_ = current_dpi; - if (_tmp33_ == _tmp34_) { - GtkComboBox* _tmp35_; - GtkTreeIter _tmp36_; - _tmp35_ = combo; - _tmp36_ = iter; - gtk_combo_box_set_active_iter (_tmp35_, &_tmp36_); + _tmp26_ = model; + gtk_list_store_append (_tmp26_, &_tmp27_); + iter = _tmp27_; + _tmp28_ = model; + _tmp29_ = iter; + _tmp30_ = dpi; + _tmp31_ = label; + gtk_list_store_set (_tmp28_, &_tmp29_, 0, _tmp30_, 1, _tmp31_, -1, -1); + _tmp32_ = dpi; + _tmp33_ = current_dpi; + if (_tmp32_ == _tmp33_) { + GtkComboBox* _tmp34_; + GtkTreeIter _tmp35_; + _tmp34_ = combo; + _tmp35_ = iter; + gtk_combo_box_set_active_iter (_tmp34_, &_tmp35_); } _g_free0 (label); } @@ -3837,43 +3854,43 @@ GtkListStore* _tmp98_; GtkInfoBar* _tmp99_; GtkInfoBar* _tmp100_; - GtkInfoBar* _tmp101_; - GtkVBox* _tmp102_; - GtkInfoBar* _tmp103_; - GtkBox* _tmp104_; - GtkBox* _tmp105_; + GtkVBox* _tmp101_; + GtkInfoBar* _tmp102_; + GtkBox* _tmp103_; GtkBox* hbox; - GtkInfoBar* _tmp106_; - GtkWidget* _tmp107_ = NULL; - GtkContainer* _tmp108_; + GtkInfoBar* _tmp104_; + GtkContainer* _tmp105_ = NULL; + GtkContainer* _tmp106_; GtkContainer* content_area; - GtkContainer* _tmp109_; - GtkBox* _tmp110_; + GtkContainer* _tmp107_; + GtkBox* _tmp108_; + GtkBox* _tmp109_; + GtkImage* _tmp110_; GtkBox* _tmp111_; GtkImage* _tmp112_; GtkImage* _tmp113_; - GtkBox* _tmp114_; - GtkImage* _tmp115_; - GtkImage* _tmp116_; + GtkLabel* _tmp114_; + GtkLabel* _tmp115_; + GtkBox* _tmp116_; GtkLabel* _tmp117_; GtkLabel* _tmp118_; - GtkLabel* _tmp119_; - GtkBox* _tmp120_; - GtkLabel* _tmp121_; - GtkLabel* _tmp122_; - GtkInfoBar* _tmp123_; - GtkWidget* _tmp124_ = NULL; + GtkInfoBar* _tmp119_; + GtkButton* _tmp120_ = NULL; + GtkButton* _tmp121_; + GtkInfoBar* _tmp122_; + const gchar* _tmp123_ = NULL; + GtkButton* _tmp124_ = NULL; GtkButton* _tmp125_; - GtkInfoBar* _tmp126_; - const gchar* _tmp127_ = NULL; - GtkWidget* _tmp128_ = NULL; - GtkButton* _tmp129_; GtkTreeIter iter = {0}; - GtkListStore* _tmp130_; - GtkTreeIter _tmp131_ = {0}; - GtkListStore* _tmp132_; - GtkTreeIter _tmp133_; - const gchar* _tmp134_ = NULL; + GtkListStore* _tmp126_; + GtkTreeIter _tmp127_ = {0}; + GtkListStore* _tmp128_; + GtkTreeIter _tmp129_; + const gchar* _tmp130_ = NULL; + GtkListStore* _tmp131_; + GtkTreeIter _tmp132_ = {0}; + GtkListStore* _tmp133_; + GtkTreeIter _tmp134_; GtkListStore* _tmp135_; GtkTreeIter _tmp136_ = {0}; GtkListStore* _tmp137_; @@ -3894,97 +3911,89 @@ GtkTreeIter _tmp152_ = {0}; GtkListStore* _tmp153_; GtkTreeIter _tmp154_; - GtkListStore* _tmp155_; - GtkTreeIter _tmp156_ = {0}; - GtkListStore* _tmp157_; - GtkTreeIter _tmp158_; - GSettings* _tmp159_; - gint _tmp160_ = 0; + GSettings* _tmp155_; + gint _tmp156_ = 0; gint dpi; - gint _tmp161_; - GtkComboBox* _tmp162_; - gint _tmp163_; - GSettings* _tmp164_; - gint _tmp165_ = 0; - gint _tmp166_; - GtkComboBox* _tmp167_; - gint _tmp168_; + gint _tmp157_; + GtkComboBox* _tmp158_; + gint _tmp159_; + GSettings* _tmp160_; + gint _tmp161_ = 0; + gint _tmp162_; + GtkComboBox* _tmp163_; + gint _tmp164_; + GtkCellRendererText* _tmp165_; + GtkCellRendererText* renderer; + GtkComboBox* _tmp166_; + GtkCellRendererText* _tmp167_; + GtkComboBox* _tmp168_; GtkCellRendererText* _tmp169_; GtkCellRendererText* _tmp170_; - GtkCellRendererText* renderer; GtkComboBox* _tmp171_; GtkCellRendererText* _tmp172_; GtkComboBox* _tmp173_; GtkCellRendererText* _tmp174_; - GtkCellRendererText* _tmp175_; - GtkCellRendererText* _tmp176_; - GtkComboBox* _tmp177_; - GtkCellRendererText* _tmp178_; - GtkComboBox* _tmp179_; - GtkCellRendererText* _tmp180_; - GSettings* _tmp181_; - gint _tmp182_ = 0; - GtkCellRendererText* _tmp183_; - GtkCellRendererText* _tmp184_; - GtkComboBox* _tmp185_; - GtkCellRendererText* _tmp186_; - GtkComboBox* _tmp187_; - GtkCellRendererText* _tmp188_; - GSettings* _tmp189_; - gint _tmp190_ = 0; + GSettings* _tmp175_; + gint _tmp176_ = 0; + GtkCellRendererText* _tmp177_; + GtkComboBox* _tmp178_; + GtkCellRendererText* _tmp179_; + GtkComboBox* _tmp180_; + GtkCellRendererText* _tmp181_; + GSettings* _tmp182_; + gint _tmp183_ = 0; gint paper_width; - GSettings* _tmp191_; - gint _tmp192_ = 0; + GSettings* _tmp184_; + gint _tmp185_ = 0; gint paper_height; - gint _tmp193_; - gint _tmp194_; - GSettings* _tmp195_; - gchar* _tmp196_ = NULL; + gint _tmp186_; + gint _tmp187_; + GSettings* _tmp188_; + gchar* _tmp189_ = NULL; gchar* device; - const gchar* _tmp197_; - GSettings* _tmp203_; - gchar* _tmp204_ = NULL; + const gchar* _tmp190_; + GSettings* _tmp196_; + gchar* _tmp197_ = NULL; gchar* document_type; - const gchar* _tmp205_; - Book* _tmp207_; + const gchar* _tmp198_; + Book* _tmp200_; + BookView* _tmp201_; + BookView* _tmp202_; + GtkVBox* _tmp203_; + BookView* _tmp204_; + BookView* _tmp205_; + BookView* _tmp206_; + BookView* _tmp207_; BookView* _tmp208_; - BookView* _tmp209_; - BookView* _tmp210_; - GtkVBox* _tmp211_; - BookView* _tmp212_; - BookView* _tmp213_; - BookView* _tmp214_; - BookView* _tmp215_; - BookView* _tmp216_; + GSettings* _tmp209_; + gint _tmp210_ = 0; + GSettings* _tmp211_; + gint _tmp212_ = 0; + gint _tmp213_; + GSettings* _tmp214_; + gint _tmp215_ = 0; + gint _tmp216_; GSettings* _tmp217_; gint _tmp218_ = 0; - GSettings* _tmp219_; - gint _tmp220_ = 0; - gint _tmp221_; - GSettings* _tmp222_; - gint _tmp223_ = 0; - gint _tmp224_; - GSettings* _tmp225_; - gint _tmp226_ = 0; + gint _tmp219_; + GSettings* _tmp220_; + gint _tmp221_ = 0; + gint _tmp222_; + GSettings* _tmp223_; + gint _tmp224_ = 0; + gint _tmp225_; + gint _tmp226_; gint _tmp227_; - GSettings* _tmp228_; - gint _tmp229_ = 0; + GtkWindow* _tmp228_; + gint _tmp229_; gint _tmp230_; GSettings* _tmp231_; - gint _tmp232_ = 0; - gint _tmp233_; - gint _tmp234_; - gint _tmp235_; - GtkWindow* _tmp236_; - gint _tmp237_; - gint _tmp238_; - GSettings* _tmp239_; - gboolean _tmp240_ = FALSE; - gboolean _tmp241_; - Book* _tmp243_; - guint _tmp244_ = 0U; - Book* _tmp245_; - Book* _tmp246_; + gboolean _tmp232_ = FALSE; + gboolean _tmp233_; + Book* _tmp235_; + guint _tmp236_ = 0U; + Book* _tmp237_; + Book* _tmp238_; GError * _inner_error_ = NULL; g_return_if_fail (self != NULL); _tmp0_ = gtk_icon_theme_get_default (); @@ -4015,7 +4024,7 @@ _inner_error_ = NULL; _tmp4_ = e; _tmp5_ = _tmp4_->message; - g_critical ("ui.vala:1262: Unable to load UI %s: %s\n", filename, _tmp5_); + g_critical ("ui.vala:1276: Unable to load UI %s: %s\n", filename, _tmp5_); _tmp6_ = _ ("Files missing"); _tmp7_ = _ ("Please check your installation"); simple_scan_show_error_dialog (self, _tmp6_, _tmp7_); @@ -4033,420 +4042,420 @@ gtk_builder_connect_signals (_tmp8_, self); _tmp9_ = self->priv->builder; _tmp10_ = gtk_builder_get_object (_tmp9_, "simple_scan_window"); - _tmp11_ = _g_object_ref0 (GTK_WINDOW (_tmp10_)); + _tmp11_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GTK_TYPE_WINDOW, GtkWindow)); _g_object_unref0 (self->priv->window); self->priv->window = _tmp11_; _tmp12_ = self->priv->builder; _tmp13_ = gtk_builder_get_object (_tmp12_, "main_vbox"); - _tmp14_ = _g_object_ref0 (GTK_VBOX (_tmp13_)); + _tmp14_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GTK_TYPE_VBOX, GtkVBox)); _g_object_unref0 (self->priv->main_vbox); self->priv->main_vbox = _tmp14_; _tmp15_ = self->priv->builder; _tmp16_ = gtk_builder_get_object (_tmp15_, "page_move_left_menuitem"); - _tmp17_ = _g_object_ref0 (GTK_MENU_ITEM (_tmp16_)); + _tmp17_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GTK_TYPE_MENU_ITEM, GtkMenuItem)); _g_object_unref0 (self->priv->page_move_left_menuitem); self->priv->page_move_left_menuitem = _tmp17_; _tmp18_ = self->priv->builder; _tmp19_ = gtk_builder_get_object (_tmp18_, "page_move_right_menuitem"); - _tmp20_ = _g_object_ref0 (GTK_MENU_ITEM (_tmp19_)); + _tmp20_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GTK_TYPE_MENU_ITEM, GtkMenuItem)); _g_object_unref0 (self->priv->page_move_right_menuitem); self->priv->page_move_right_menuitem = _tmp20_; _tmp21_ = self->priv->builder; _tmp22_ = gtk_builder_get_object (_tmp21_, "page_delete_menuitem"); - _tmp23_ = _g_object_ref0 (GTK_MENU_ITEM (_tmp22_)); + _tmp23_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GTK_TYPE_MENU_ITEM, GtkMenuItem)); _g_object_unref0 (self->priv->page_delete_menuitem); self->priv->page_delete_menuitem = _tmp23_; _tmp24_ = self->priv->builder; _tmp25_ = gtk_builder_get_object (_tmp24_, "crop_rotate_menuitem"); - _tmp26_ = _g_object_ref0 (GTK_MENU_ITEM (_tmp25_)); + _tmp26_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GTK_TYPE_MENU_ITEM, GtkMenuItem)); _g_object_unref0 (self->priv->crop_rotate_menuitem); self->priv->crop_rotate_menuitem = _tmp26_; _tmp27_ = self->priv->builder; _tmp28_ = gtk_builder_get_object (_tmp27_, "save_menuitem"); - _tmp29_ = _g_object_ref0 (GTK_MENU_ITEM (_tmp28_)); + _tmp29_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, GTK_TYPE_MENU_ITEM, GtkMenuItem)); _g_object_unref0 (self->priv->save_menuitem); self->priv->save_menuitem = _tmp29_; _tmp30_ = self->priv->builder; _tmp31_ = gtk_builder_get_object (_tmp30_, "save_as_menuitem"); - _tmp32_ = _g_object_ref0 (GTK_MENU_ITEM (_tmp31_)); + _tmp32_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, GTK_TYPE_MENU_ITEM, GtkMenuItem)); _g_object_unref0 (self->priv->save_as_menuitem); self->priv->save_as_menuitem = _tmp32_; _tmp33_ = self->priv->builder; _tmp34_ = gtk_builder_get_object (_tmp33_, "save_toolbutton"); - _tmp35_ = _g_object_ref0 (GTK_TOOL_BUTTON (_tmp34_)); + _tmp35_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GTK_TYPE_TOOL_BUTTON, GtkToolButton)); _g_object_unref0 (self->priv->save_toolbutton); self->priv->save_toolbutton = _tmp35_; _tmp36_ = self->priv->builder; _tmp37_ = gtk_builder_get_object (_tmp36_, "stop_scan_menuitem"); - _tmp38_ = _g_object_ref0 (GTK_MENU_ITEM (_tmp37_)); + _tmp38_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, GTK_TYPE_MENU_ITEM, GtkMenuItem)); _g_object_unref0 (self->priv->stop_menuitem); self->priv->stop_menuitem = _tmp38_; _tmp39_ = self->priv->builder; _tmp40_ = gtk_builder_get_object (_tmp39_, "stop_toolbutton"); - _tmp41_ = _g_object_ref0 (GTK_TOOL_BUTTON (_tmp40_)); + _tmp41_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, GTK_TYPE_TOOL_BUTTON, GtkToolButton)); _g_object_unref0 (self->priv->stop_toolbutton); self->priv->stop_toolbutton = _tmp41_; _tmp42_ = self->priv->builder; _tmp43_ = gtk_builder_get_object (_tmp42_, "text_toolbutton_menuitem"); - _tmp44_ = _g_object_ref0 (GTK_RADIO_MENU_ITEM (_tmp43_)); + _tmp44_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, GTK_TYPE_RADIO_MENU_ITEM, GtkRadioMenuItem)); _g_object_unref0 (self->priv->text_toolbar_menuitem); self->priv->text_toolbar_menuitem = _tmp44_; _tmp45_ = self->priv->builder; _tmp46_ = gtk_builder_get_object (_tmp45_, "text_menuitem"); - _tmp47_ = _g_object_ref0 (GTK_RADIO_MENU_ITEM (_tmp46_)); + _tmp47_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, GTK_TYPE_RADIO_MENU_ITEM, GtkRadioMenuItem)); _g_object_unref0 (self->priv->text_menu_menuitem); self->priv->text_menu_menuitem = _tmp47_; _tmp48_ = self->priv->builder; _tmp49_ = gtk_builder_get_object (_tmp48_, "photo_toolbutton_menuitem"); - _tmp50_ = _g_object_ref0 (GTK_RADIO_MENU_ITEM (_tmp49_)); + _tmp50_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, GTK_TYPE_RADIO_MENU_ITEM, GtkRadioMenuItem)); _g_object_unref0 (self->priv->photo_toolbar_menuitem); self->priv->photo_toolbar_menuitem = _tmp50_; _tmp51_ = self->priv->builder; _tmp52_ = gtk_builder_get_object (_tmp51_, "photo_menuitem"); - _tmp53_ = _g_object_ref0 (GTK_RADIO_MENU_ITEM (_tmp52_)); + _tmp53_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, GTK_TYPE_RADIO_MENU_ITEM, GtkRadioMenuItem)); _g_object_unref0 (self->priv->photo_menu_menuitem); self->priv->photo_menu_menuitem = _tmp53_; _tmp54_ = self->priv->builder; _tmp55_ = gtk_builder_get_object (_tmp54_, "authorize_dialog"); - _tmp56_ = _g_object_ref0 (GTK_DIALOG (_tmp55_)); + _tmp56_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp55_, GTK_TYPE_DIALOG, GtkDialog)); _g_object_unref0 (self->priv->authorize_dialog); self->priv->authorize_dialog = _tmp56_; _tmp57_ = self->priv->builder; _tmp58_ = gtk_builder_get_object (_tmp57_, "authorize_label"); - _tmp59_ = _g_object_ref0 (GTK_LABEL (_tmp58_)); + _tmp59_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, GTK_TYPE_LABEL, GtkLabel)); _g_object_unref0 (self->priv->authorize_label); self->priv->authorize_label = _tmp59_; _tmp60_ = self->priv->builder; _tmp61_ = gtk_builder_get_object (_tmp60_, "username_entry"); - _tmp62_ = _g_object_ref0 (GTK_ENTRY (_tmp61_)); + _tmp62_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, GTK_TYPE_ENTRY, GtkEntry)); _g_object_unref0 (self->priv->username_entry); self->priv->username_entry = _tmp62_; _tmp63_ = self->priv->builder; _tmp64_ = gtk_builder_get_object (_tmp63_, "password_entry"); - _tmp65_ = _g_object_ref0 (GTK_ENTRY (_tmp64_)); + _tmp65_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp64_, GTK_TYPE_ENTRY, GtkEntry)); _g_object_unref0 (self->priv->password_entry); self->priv->password_entry = _tmp65_; _tmp66_ = self->priv->builder; _tmp67_ = gtk_builder_get_object (_tmp66_, "preferences_dialog"); - _tmp68_ = _g_object_ref0 (GTK_DIALOG (_tmp67_)); + _tmp68_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp67_, GTK_TYPE_DIALOG, GtkDialog)); _g_object_unref0 (self->priv->preferences_dialog); self->priv->preferences_dialog = _tmp68_; _tmp69_ = self->priv->builder; _tmp70_ = gtk_builder_get_object (_tmp69_, "device_combo"); - _tmp71_ = _g_object_ref0 (GTK_COMBO_BOX (_tmp70_)); + _tmp71_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp70_, GTK_TYPE_COMBO_BOX, GtkComboBox)); _g_object_unref0 (self->priv->device_combo); self->priv->device_combo = _tmp71_; _tmp72_ = self->priv->device_combo; _tmp73_ = gtk_combo_box_get_model (_tmp72_); - _tmp74_ = _g_object_ref0 (GTK_LIST_STORE (_tmp73_)); + _tmp74_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp73_, GTK_TYPE_LIST_STORE, GtkListStore)); _g_object_unref0 (self->priv->device_model); self->priv->device_model = _tmp74_; _tmp75_ = self->priv->builder; _tmp76_ = gtk_builder_get_object (_tmp75_, "text_dpi_combo"); - _tmp77_ = _g_object_ref0 (GTK_COMBO_BOX (_tmp76_)); + _tmp77_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp76_, GTK_TYPE_COMBO_BOX, GtkComboBox)); _g_object_unref0 (self->priv->text_dpi_combo); self->priv->text_dpi_combo = _tmp77_; _tmp78_ = self->priv->text_dpi_combo; _tmp79_ = gtk_combo_box_get_model (_tmp78_); - _tmp80_ = _g_object_ref0 (GTK_LIST_STORE (_tmp79_)); + _tmp80_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp79_, GTK_TYPE_LIST_STORE, GtkListStore)); _g_object_unref0 (self->priv->text_dpi_model); self->priv->text_dpi_model = _tmp80_; _tmp81_ = self->priv->builder; _tmp82_ = gtk_builder_get_object (_tmp81_, "photo_dpi_combo"); - _tmp83_ = _g_object_ref0 (GTK_COMBO_BOX (_tmp82_)); + _tmp83_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp82_, GTK_TYPE_COMBO_BOX, GtkComboBox)); _g_object_unref0 (self->priv->photo_dpi_combo); self->priv->photo_dpi_combo = _tmp83_; _tmp84_ = self->priv->photo_dpi_combo; _tmp85_ = gtk_combo_box_get_model (_tmp84_); - _tmp86_ = _g_object_ref0 (GTK_LIST_STORE (_tmp85_)); + _tmp86_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp85_, GTK_TYPE_LIST_STORE, GtkListStore)); _g_object_unref0 (self->priv->photo_dpi_model); self->priv->photo_dpi_model = _tmp86_; _tmp87_ = self->priv->builder; _tmp88_ = gtk_builder_get_object (_tmp87_, "page_side_combo"); - _tmp89_ = _g_object_ref0 (GTK_COMBO_BOX (_tmp88_)); + _tmp89_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp88_, GTK_TYPE_COMBO_BOX, GtkComboBox)); _g_object_unref0 (self->priv->page_side_combo); self->priv->page_side_combo = _tmp89_; _tmp90_ = self->priv->page_side_combo; _tmp91_ = gtk_combo_box_get_model (_tmp90_); - _tmp92_ = _g_object_ref0 (GTK_LIST_STORE (_tmp91_)); + _tmp92_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp91_, GTK_TYPE_LIST_STORE, GtkListStore)); _g_object_unref0 (self->priv->page_side_model); self->priv->page_side_model = _tmp92_; _tmp93_ = self->priv->builder; _tmp94_ = gtk_builder_get_object (_tmp93_, "paper_size_combo"); - _tmp95_ = _g_object_ref0 (GTK_COMBO_BOX (_tmp94_)); + _tmp95_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp94_, GTK_TYPE_COMBO_BOX, GtkComboBox)); _g_object_unref0 (self->priv->paper_size_combo); self->priv->paper_size_combo = _tmp95_; _tmp96_ = self->priv->paper_size_combo; _tmp97_ = gtk_combo_box_get_model (_tmp96_); - _tmp98_ = _g_object_ref0 (GTK_LIST_STORE (_tmp97_)); + _tmp98_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp97_, GTK_TYPE_LIST_STORE, GtkListStore)); _g_object_unref0 (self->priv->paper_size_model); self->priv->paper_size_model = _tmp98_; _tmp99_ = (GtkInfoBar*) gtk_info_bar_new (); - _tmp100_ = g_object_ref_sink (_tmp99_); + g_object_ref_sink (_tmp99_); _g_object_unref0 (self->priv->info_bar); - self->priv->info_bar = _tmp100_; - _tmp101_ = self->priv->info_bar; - g_signal_connect (_tmp101_, "response", (GCallback) _simple_scan_info_bar_response_cb_gtk_info_bar_response, self); - _tmp102_ = self->priv->main_vbox; - _tmp103_ = self->priv->info_bar; - gtk_box_pack_start ((GtkBox*) _tmp102_, (GtkWidget*) _tmp103_, FALSE, TRUE, (guint) 0); - _tmp104_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); - _tmp105_ = g_object_ref_sink (_tmp104_); - hbox = _tmp105_; - _tmp106_ = self->priv->info_bar; - _tmp107_ = gtk_info_bar_get_content_area (_tmp106_); - _tmp108_ = _g_object_ref0 (GTK_CONTAINER (_tmp107_)); - content_area = _tmp108_; - _tmp109_ = content_area; - _tmp110_ = hbox; - gtk_container_add (_tmp109_, (GtkWidget*) _tmp110_); - _tmp111_ = hbox; - gtk_widget_show ((GtkWidget*) _tmp111_); - _tmp112_ = (GtkImage*) gtk_image_new_from_stock (GTK_STOCK_DIALOG_WARNING, GTK_ICON_SIZE_DIALOG); - _tmp113_ = g_object_ref_sink (_tmp112_); + self->priv->info_bar = _tmp99_; + _tmp100_ = self->priv->info_bar; + g_signal_connect (_tmp100_, "response", (GCallback) _simple_scan_info_bar_response_cb_gtk_info_bar_response, self); + _tmp101_ = self->priv->main_vbox; + _tmp102_ = self->priv->info_bar; + gtk_box_pack_start ((GtkBox*) _tmp101_, (GtkWidget*) _tmp102_, FALSE, TRUE, (guint) 0); + _tmp103_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); + g_object_ref_sink (_tmp103_); + hbox = _tmp103_; + _tmp104_ = self->priv->info_bar; + _tmp105_ = gtk_info_bar_get_content_area (_tmp104_); + _tmp106_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp105_, GTK_TYPE_CONTAINER, GtkContainer)); + content_area = _tmp106_; + _tmp107_ = content_area; + _tmp108_ = hbox; + gtk_container_add (_tmp107_, (GtkWidget*) _tmp108_); + _tmp109_ = hbox; + gtk_widget_show ((GtkWidget*) _tmp109_); + _tmp110_ = (GtkImage*) gtk_image_new_from_stock (GTK_STOCK_DIALOG_WARNING, GTK_ICON_SIZE_DIALOG); + g_object_ref_sink (_tmp110_); _g_object_unref0 (self->priv->info_bar_image); - self->priv->info_bar_image = _tmp113_; - _tmp114_ = hbox; - _tmp115_ = self->priv->info_bar_image; - gtk_box_pack_start (_tmp114_, (GtkWidget*) _tmp115_, FALSE, TRUE, (guint) 0); - _tmp116_ = self->priv->info_bar_image; - gtk_widget_show ((GtkWidget*) _tmp116_); - _tmp117_ = (GtkLabel*) gtk_label_new (NULL); - _tmp118_ = g_object_ref_sink (_tmp117_); + self->priv->info_bar_image = _tmp110_; + _tmp111_ = hbox; + _tmp112_ = self->priv->info_bar_image; + gtk_box_pack_start (_tmp111_, (GtkWidget*) _tmp112_, FALSE, TRUE, (guint) 0); + _tmp113_ = self->priv->info_bar_image; + gtk_widget_show ((GtkWidget*) _tmp113_); + _tmp114_ = (GtkLabel*) gtk_label_new (NULL); + g_object_ref_sink (_tmp114_); _g_object_unref0 (self->priv->info_bar_label); - self->priv->info_bar_label = _tmp118_; - _tmp119_ = self->priv->info_bar_label; - gtk_misc_set_alignment ((GtkMisc*) _tmp119_, 0.0f, 0.5f); - _tmp120_ = hbox; - _tmp121_ = self->priv->info_bar_label; - gtk_box_pack_start (_tmp120_, (GtkWidget*) _tmp121_, TRUE, TRUE, (guint) 0); - _tmp122_ = self->priv->info_bar_label; - gtk_widget_show ((GtkWidget*) _tmp122_); - _tmp123_ = self->priv->info_bar; - _tmp124_ = gtk_info_bar_add_button (_tmp123_, GTK_STOCK_CLOSE, (gint) GTK_RESPONSE_CLOSE); - _tmp125_ = _g_object_ref0 (GTK_BUTTON (_tmp124_)); + self->priv->info_bar_label = _tmp114_; + _tmp115_ = self->priv->info_bar_label; + gtk_misc_set_alignment ((GtkMisc*) _tmp115_, 0.0f, 0.5f); + _tmp116_ = hbox; + _tmp117_ = self->priv->info_bar_label; + gtk_box_pack_start (_tmp116_, (GtkWidget*) _tmp117_, TRUE, TRUE, (guint) 0); + _tmp118_ = self->priv->info_bar_label; + gtk_widget_show ((GtkWidget*) _tmp118_); + _tmp119_ = self->priv->info_bar; + _tmp120_ = gtk_info_bar_add_button (_tmp119_, GTK_STOCK_CLOSE, (gint) GTK_RESPONSE_CLOSE); + _tmp121_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp120_, GTK_TYPE_BUTTON, GtkButton)); _g_object_unref0 (self->priv->info_bar_close_button); - self->priv->info_bar_close_button = _tmp125_; - _tmp126_ = self->priv->info_bar; - _tmp127_ = _ ("Change _Scanner"); - _tmp128_ = gtk_info_bar_add_button (_tmp126_, _tmp127_, 1); - _tmp129_ = _g_object_ref0 (GTK_BUTTON (_tmp128_)); + self->priv->info_bar_close_button = _tmp121_; + _tmp122_ = self->priv->info_bar; + _tmp123_ = _ ("Change _Scanner"); + _tmp124_ = gtk_info_bar_add_button (_tmp122_, _tmp123_, 1); + _tmp125_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp124_, GTK_TYPE_BUTTON, GtkButton)); _g_object_unref0 (self->priv->info_bar_change_scanner_button); - self->priv->info_bar_change_scanner_button = _tmp129_; - _tmp130_ = self->priv->paper_size_model; - gtk_list_store_append (_tmp130_, &_tmp131_); - iter = _tmp131_; - _tmp132_ = self->priv->paper_size_model; - _tmp133_ = iter; - _tmp134_ = _ ("Automatic"); - gtk_list_store_set (_tmp132_, &_tmp133_, 0, 0, 1, 0, 2, _tmp134_, -1, -1); + self->priv->info_bar_change_scanner_button = _tmp125_; + _tmp126_ = self->priv->paper_size_model; + gtk_list_store_append (_tmp126_, &_tmp127_); + iter = _tmp127_; + _tmp128_ = self->priv->paper_size_model; + _tmp129_ = iter; + _tmp130_ = _ ("Automatic"); + gtk_list_store_set (_tmp128_, &_tmp129_, 0, 0, 1, 0, 2, _tmp130_, -1, -1); + _tmp131_ = self->priv->paper_size_model; + gtk_list_store_append (_tmp131_, &_tmp132_); + iter = _tmp132_; + _tmp133_ = self->priv->paper_size_model; + _tmp134_ = iter; + gtk_list_store_set (_tmp133_, &_tmp134_, 0, 1050, 1, 1480, 2, "A6", -1, -1); _tmp135_ = self->priv->paper_size_model; gtk_list_store_append (_tmp135_, &_tmp136_); iter = _tmp136_; _tmp137_ = self->priv->paper_size_model; _tmp138_ = iter; - gtk_list_store_set (_tmp137_, &_tmp138_, 0, 1050, 1, 1480, 2, "A6", -1, -1); + gtk_list_store_set (_tmp137_, &_tmp138_, 0, 1480, 1, 2100, 2, "A5", -1, -1); _tmp139_ = self->priv->paper_size_model; gtk_list_store_append (_tmp139_, &_tmp140_); iter = _tmp140_; _tmp141_ = self->priv->paper_size_model; _tmp142_ = iter; - gtk_list_store_set (_tmp141_, &_tmp142_, 0, 1480, 1, 2100, 2, "A5", -1, -1); + gtk_list_store_set (_tmp141_, &_tmp142_, 0, 2100, 1, 2970, 2, "A4", -1, -1); _tmp143_ = self->priv->paper_size_model; gtk_list_store_append (_tmp143_, &_tmp144_); iter = _tmp144_; _tmp145_ = self->priv->paper_size_model; _tmp146_ = iter; - gtk_list_store_set (_tmp145_, &_tmp146_, 0, 2100, 1, 2970, 2, "A4", -1, -1); + gtk_list_store_set (_tmp145_, &_tmp146_, 0, 2159, 1, 2794, 2, "Letter", -1, -1); _tmp147_ = self->priv->paper_size_model; gtk_list_store_append (_tmp147_, &_tmp148_); iter = _tmp148_; _tmp149_ = self->priv->paper_size_model; _tmp150_ = iter; - gtk_list_store_set (_tmp149_, &_tmp150_, 0, 2159, 1, 2794, 2, "Letter", -1, -1); + gtk_list_store_set (_tmp149_, &_tmp150_, 0, 2159, 1, 3556, 2, "Legal", -1, -1); _tmp151_ = self->priv->paper_size_model; gtk_list_store_append (_tmp151_, &_tmp152_); iter = _tmp152_; _tmp153_ = self->priv->paper_size_model; _tmp154_ = iter; - gtk_list_store_set (_tmp153_, &_tmp154_, 0, 2159, 1, 3556, 2, "Legal", -1, -1); - _tmp155_ = self->priv->paper_size_model; - gtk_list_store_append (_tmp155_, &_tmp156_); - iter = _tmp156_; - _tmp157_ = self->priv->paper_size_model; - _tmp158_ = iter; - gtk_list_store_set (_tmp157_, &_tmp158_, 0, 1016, 1, 1524, 2, "4×6", -1, -1); - _tmp159_ = self->priv->settings; - _tmp160_ = g_settings_get_int (_tmp159_, "text-dpi"); - dpi = _tmp160_; - _tmp161_ = dpi; - if (_tmp161_ <= 0) { + gtk_list_store_set (_tmp153_, &_tmp154_, 0, 1016, 1, 1524, 2, "4×6", -1, -1); + _tmp155_ = self->priv->settings; + _tmp156_ = g_settings_get_int (_tmp155_, "text-dpi"); + dpi = _tmp156_; + _tmp157_ = dpi; + if (_tmp157_ <= 0) { dpi = SIMPLE_SCAN_DEFAULT_TEXT_DPI; } - _tmp162_ = self->priv->text_dpi_combo; - _tmp163_ = dpi; - simple_scan_set_dpi_combo (self, _tmp162_, SIMPLE_SCAN_DEFAULT_TEXT_DPI, _tmp163_); - _tmp164_ = self->priv->settings; - _tmp165_ = g_settings_get_int (_tmp164_, "photo-dpi"); - dpi = _tmp165_; - _tmp166_ = dpi; - if (_tmp166_ <= 0) { + _tmp158_ = self->priv->text_dpi_combo; + _tmp159_ = dpi; + simple_scan_set_dpi_combo (self, _tmp158_, SIMPLE_SCAN_DEFAULT_TEXT_DPI, _tmp159_); + _tmp160_ = self->priv->settings; + _tmp161_ = g_settings_get_int (_tmp160_, "photo-dpi"); + dpi = _tmp161_; + _tmp162_ = dpi; + if (_tmp162_ <= 0) { dpi = SIMPLE_SCAN_DEFAULT_PHOTO_DPI; } - _tmp167_ = self->priv->photo_dpi_combo; - _tmp168_ = dpi; - simple_scan_set_dpi_combo (self, _tmp167_, SIMPLE_SCAN_DEFAULT_PHOTO_DPI, _tmp168_); - _tmp169_ = (GtkCellRendererText*) gtk_cell_renderer_text_new (); - _tmp170_ = g_object_ref_sink (_tmp169_); + _tmp163_ = self->priv->photo_dpi_combo; + _tmp164_ = dpi; + simple_scan_set_dpi_combo (self, _tmp163_, SIMPLE_SCAN_DEFAULT_PHOTO_DPI, _tmp164_); + _tmp165_ = (GtkCellRendererText*) gtk_cell_renderer_text_new (); + g_object_ref_sink (_tmp165_); + renderer = _tmp165_; + _tmp166_ = self->priv->device_combo; + _tmp167_ = renderer; + gtk_cell_layout_pack_start ((GtkCellLayout*) _tmp166_, (GtkCellRenderer*) _tmp167_, TRUE); + _tmp168_ = self->priv->device_combo; + _tmp169_ = renderer; + gtk_cell_layout_add_attribute ((GtkCellLayout*) _tmp168_, (GtkCellRenderer*) _tmp169_, "text", 1); + _tmp170_ = (GtkCellRendererText*) gtk_cell_renderer_text_new (); + g_object_ref_sink (_tmp170_); + _g_object_unref0 (renderer); renderer = _tmp170_; - _tmp171_ = self->priv->device_combo; + _tmp171_ = self->priv->page_side_combo; _tmp172_ = renderer; gtk_cell_layout_pack_start ((GtkCellLayout*) _tmp171_, (GtkCellRenderer*) _tmp172_, TRUE); - _tmp173_ = self->priv->device_combo; + _tmp173_ = self->priv->page_side_combo; _tmp174_ = renderer; gtk_cell_layout_add_attribute ((GtkCellLayout*) _tmp173_, (GtkCellRenderer*) _tmp174_, "text", 1); - _tmp175_ = (GtkCellRendererText*) gtk_cell_renderer_text_new (); - _tmp176_ = g_object_ref_sink (_tmp175_); + _tmp175_ = self->priv->settings; + _tmp176_ = g_settings_get_enum (_tmp175_, "page-side"); + simple_scan_set_page_side (self, (ScanType) _tmp176_); + _tmp177_ = (GtkCellRendererText*) gtk_cell_renderer_text_new (); + g_object_ref_sink (_tmp177_); _g_object_unref0 (renderer); - renderer = _tmp176_; - _tmp177_ = self->priv->page_side_combo; - _tmp178_ = renderer; - gtk_cell_layout_pack_start ((GtkCellLayout*) _tmp177_, (GtkCellRenderer*) _tmp178_, TRUE); - _tmp179_ = self->priv->page_side_combo; - _tmp180_ = renderer; - gtk_cell_layout_add_attribute ((GtkCellLayout*) _tmp179_, (GtkCellRenderer*) _tmp180_, "text", 1); - _tmp181_ = self->priv->settings; - _tmp182_ = g_settings_get_enum (_tmp181_, "page-side"); - simple_scan_set_page_side (self, (ScanType) _tmp182_); - _tmp183_ = (GtkCellRendererText*) gtk_cell_renderer_text_new (); - _tmp184_ = g_object_ref_sink (_tmp183_); - _g_object_unref0 (renderer); - renderer = _tmp184_; - _tmp185_ = self->priv->paper_size_combo; - _tmp186_ = renderer; - gtk_cell_layout_pack_start ((GtkCellLayout*) _tmp185_, (GtkCellRenderer*) _tmp186_, TRUE); - _tmp187_ = self->priv->paper_size_combo; - _tmp188_ = renderer; - gtk_cell_layout_add_attribute ((GtkCellLayout*) _tmp187_, (GtkCellRenderer*) _tmp188_, "text", 2); - _tmp189_ = self->priv->settings; - _tmp190_ = g_settings_get_int (_tmp189_, "paper-width"); - paper_width = _tmp190_; - _tmp191_ = self->priv->settings; - _tmp192_ = g_settings_get_int (_tmp191_, "paper-height"); - paper_height = _tmp192_; - _tmp193_ = paper_width; - _tmp194_ = paper_height; - simple_scan_set_paper_size (self, _tmp193_, _tmp194_); - _tmp195_ = self->priv->settings; - _tmp196_ = g_settings_get_string (_tmp195_, "selected-device"); - device = _tmp196_; - _tmp197_ = device; - if (_tmp197_ != NULL) { - const gchar* _tmp198_; - GtkTreeIter _tmp199_ = {0}; - gboolean _tmp200_ = FALSE; - _tmp198_ = device; - _tmp200_ = simple_scan_find_scan_device (self, _tmp198_, &_tmp199_); - iter = _tmp199_; - if (_tmp200_) { - GtkComboBox* _tmp201_; - GtkTreeIter _tmp202_; - _tmp201_ = self->priv->device_combo; - _tmp202_ = iter; - gtk_combo_box_set_active_iter (_tmp201_, &_tmp202_); + renderer = _tmp177_; + _tmp178_ = self->priv->paper_size_combo; + _tmp179_ = renderer; + gtk_cell_layout_pack_start ((GtkCellLayout*) _tmp178_, (GtkCellRenderer*) _tmp179_, TRUE); + _tmp180_ = self->priv->paper_size_combo; + _tmp181_ = renderer; + gtk_cell_layout_add_attribute ((GtkCellLayout*) _tmp180_, (GtkCellRenderer*) _tmp181_, "text", 2); + _tmp182_ = self->priv->settings; + _tmp183_ = g_settings_get_int (_tmp182_, "paper-width"); + paper_width = _tmp183_; + _tmp184_ = self->priv->settings; + _tmp185_ = g_settings_get_int (_tmp184_, "paper-height"); + paper_height = _tmp185_; + _tmp186_ = paper_width; + _tmp187_ = paper_height; + simple_scan_set_paper_size (self, _tmp186_, _tmp187_); + _tmp188_ = self->priv->settings; + _tmp189_ = g_settings_get_string (_tmp188_, "selected-device"); + device = _tmp189_; + _tmp190_ = device; + if (_tmp190_ != NULL) { + const gchar* _tmp191_; + GtkTreeIter _tmp192_ = {0}; + gboolean _tmp193_ = FALSE; + _tmp191_ = device; + _tmp193_ = simple_scan_find_scan_device (self, _tmp191_, &_tmp192_); + iter = _tmp192_; + if (_tmp193_) { + GtkComboBox* _tmp194_; + GtkTreeIter _tmp195_; + _tmp194_ = self->priv->device_combo; + _tmp195_ = iter; + gtk_combo_box_set_active_iter (_tmp194_, &_tmp195_); } } - _tmp203_ = self->priv->settings; - _tmp204_ = g_settings_get_string (_tmp203_, "document-type"); - document_type = _tmp204_; - _tmp205_ = document_type; - if (_tmp205_ != NULL) { - const gchar* _tmp206_; - _tmp206_ = document_type; - simple_scan_set_document_hint (self, _tmp206_); - } - _tmp207_ = self->priv->book; - _tmp208_ = book_view_new (_tmp207_); - _tmp209_ = g_object_ref_sink (_tmp208_); + _tmp196_ = self->priv->settings; + _tmp197_ = g_settings_get_string (_tmp196_, "document-type"); + document_type = _tmp197_; + _tmp198_ = document_type; + if (_tmp198_ != NULL) { + const gchar* _tmp199_; + _tmp199_ = document_type; + simple_scan_set_document_hint (self, _tmp199_); + } + _tmp200_ = self->priv->book; + _tmp201_ = book_view_new (_tmp200_); + g_object_ref_sink (_tmp201_); _g_object_unref0 (self->priv->book_view); - self->priv->book_view = _tmp209_; - _tmp210_ = self->priv->book_view; - gtk_container_set_border_width ((GtkContainer*) _tmp210_, (guint) 18); - _tmp211_ = self->priv->main_vbox; - _tmp212_ = self->priv->book_view; - gtk_box_pack_end ((GtkBox*) _tmp211_, (GtkWidget*) _tmp212_, TRUE, TRUE, (guint) 0); - _tmp213_ = self->priv->book_view; - g_signal_connect (_tmp213_, "page-selected", (GCallback) _simple_scan_page_selected_cb_book_view_page_selected, self); - _tmp214_ = self->priv->book_view; - g_signal_connect (_tmp214_, "show-page", (GCallback) _simple_scan_show_page_cb_book_view_show_page, self); - _tmp215_ = self->priv->book_view; - g_signal_connect (_tmp215_, "show-menu", (GCallback) _simple_scan_show_page_menu_cb_book_view_show_menu, self); - _tmp216_ = self->priv->book_view; - gtk_widget_show ((GtkWidget*) _tmp216_); - _tmp217_ = self->priv->settings; - _tmp218_ = g_settings_get_enum (_tmp217_, "scan-direction"); - self->priv->default_page_scan_direction = (ScanDirection) _tmp218_; - _tmp219_ = self->priv->settings; - _tmp220_ = g_settings_get_int (_tmp219_, "page-width"); - self->priv->default_page_width = _tmp220_; - _tmp221_ = self->priv->default_page_width; - if (_tmp221_ <= 0) { + self->priv->book_view = _tmp201_; + _tmp202_ = self->priv->book_view; + gtk_container_set_border_width ((GtkContainer*) _tmp202_, (guint) 18); + _tmp203_ = self->priv->main_vbox; + _tmp204_ = self->priv->book_view; + gtk_box_pack_end ((GtkBox*) _tmp203_, (GtkWidget*) _tmp204_, TRUE, TRUE, (guint) 0); + _tmp205_ = self->priv->book_view; + g_signal_connect (_tmp205_, "page-selected", (GCallback) _simple_scan_page_selected_cb_book_view_page_selected, self); + _tmp206_ = self->priv->book_view; + g_signal_connect (_tmp206_, "show-page", (GCallback) _simple_scan_show_page_cb_book_view_show_page, self); + _tmp207_ = self->priv->book_view; + g_signal_connect (_tmp207_, "show-menu", (GCallback) _simple_scan_show_page_menu_cb_book_view_show_menu, self); + _tmp208_ = self->priv->book_view; + gtk_widget_show ((GtkWidget*) _tmp208_); + _tmp209_ = self->priv->settings; + _tmp210_ = g_settings_get_enum (_tmp209_, "scan-direction"); + self->priv->default_page_scan_direction = (ScanDirection) _tmp210_; + _tmp211_ = self->priv->settings; + _tmp212_ = g_settings_get_int (_tmp211_, "page-width"); + self->priv->default_page_width = _tmp212_; + _tmp213_ = self->priv->default_page_width; + if (_tmp213_ <= 0) { self->priv->default_page_width = 595; } - _tmp222_ = self->priv->settings; - _tmp223_ = g_settings_get_int (_tmp222_, "page-height"); - self->priv->default_page_height = _tmp223_; - _tmp224_ = self->priv->default_page_height; - if (_tmp224_ <= 0) { + _tmp214_ = self->priv->settings; + _tmp215_ = g_settings_get_int (_tmp214_, "page-height"); + self->priv->default_page_height = _tmp215_; + _tmp216_ = self->priv->default_page_height; + if (_tmp216_ <= 0) { self->priv->default_page_height = 842; } - _tmp225_ = self->priv->settings; - _tmp226_ = g_settings_get_int (_tmp225_, "page-dpi"); - self->priv->default_page_dpi = _tmp226_; - _tmp227_ = self->priv->default_page_dpi; - if (_tmp227_ <= 0) { + _tmp217_ = self->priv->settings; + _tmp218_ = g_settings_get_int (_tmp217_, "page-dpi"); + self->priv->default_page_dpi = _tmp218_; + _tmp219_ = self->priv->default_page_dpi; + if (_tmp219_ <= 0) { self->priv->default_page_dpi = 72; } - _tmp228_ = self->priv->settings; - _tmp229_ = g_settings_get_int (_tmp228_, "window-width"); - self->priv->window_width = _tmp229_; - _tmp230_ = self->priv->window_width; - if (_tmp230_ <= 0) { + _tmp220_ = self->priv->settings; + _tmp221_ = g_settings_get_int (_tmp220_, "window-width"); + self->priv->window_width = _tmp221_; + _tmp222_ = self->priv->window_width; + if (_tmp222_ <= 0) { self->priv->window_width = 600; } - _tmp231_ = self->priv->settings; - _tmp232_ = g_settings_get_int (_tmp231_, "window-height"); - self->priv->window_height = _tmp232_; - _tmp233_ = self->priv->window_height; - if (_tmp233_ <= 0) { + _tmp223_ = self->priv->settings; + _tmp224_ = g_settings_get_int (_tmp223_, "window-height"); + self->priv->window_height = _tmp224_; + _tmp225_ = self->priv->window_height; + if (_tmp225_ <= 0) { self->priv->window_height = 400; } - _tmp234_ = self->priv->window_width; - _tmp235_ = self->priv->window_height; - g_debug ("ui.vala:1408: Restoring window to %dx%d pixels", _tmp234_, _tmp235_); - _tmp236_ = self->priv->window; - _tmp237_ = self->priv->window_width; - _tmp238_ = self->priv->window_height; - gtk_window_set_default_size (_tmp236_, _tmp237_, _tmp238_); - _tmp239_ = self->priv->settings; - _tmp240_ = g_settings_get_boolean (_tmp239_, "window-is-maximized"); - self->priv->window_is_maximized = _tmp240_; - _tmp241_ = self->priv->window_is_maximized; - if (_tmp241_) { - GtkWindow* _tmp242_; - g_debug ("ui.vala:1413: Restoring window to maximized"); - _tmp242_ = self->priv->window; - gtk_window_maximize (_tmp242_); - } - _tmp243_ = self->priv->book; - _tmp244_ = book_get_n_pages (_tmp243_); - if (_tmp244_ == ((guint) 0)) { + _tmp226_ = self->priv->window_width; + _tmp227_ = self->priv->window_height; + g_debug ("ui.vala:1422: Restoring window to %dx%d pixels", _tmp226_, _tmp227_); + _tmp228_ = self->priv->window; + _tmp229_ = self->priv->window_width; + _tmp230_ = self->priv->window_height; + gtk_window_set_default_size (_tmp228_, _tmp229_, _tmp230_); + _tmp231_ = self->priv->settings; + _tmp232_ = g_settings_get_boolean (_tmp231_, "window-is-maximized"); + self->priv->window_is_maximized = _tmp232_; + _tmp233_ = self->priv->window_is_maximized; + if (_tmp233_) { + GtkWindow* _tmp234_; + g_debug ("ui.vala:1427: Restoring window to maximized"); + _tmp234_ = self->priv->window; + gtk_window_maximize (_tmp234_); + } + _tmp235_ = self->priv->book; + _tmp236_ = book_get_n_pages (_tmp235_); + if (_tmp236_ == ((guint) 0)) { simple_scan_add_default_page (self); } - _tmp245_ = self->priv->book; - book_set_needs_saving (_tmp245_, FALSE); - _tmp246_ = self->priv->book; - g_signal_connect (_tmp246_, "needs-saving-changed", (GCallback) _simple_scan_needs_saving_cb_book_needs_saving_changed, self); + _tmp237_ = self->priv->book; + book_set_needs_saving (_tmp237_, FALSE); + _tmp238_ = self->priv->book; + g_signal_connect (_tmp238_, "needs-saving-changed", (GCallback) _simple_scan_needs_saving_cb_book_needs_saving_changed, self); _g_free0 (document_type); _g_free0 (device); _g_object_unref0 (renderer); @@ -4710,7 +4719,17 @@ static void simple_scan_finalize (SimpleScan* obj) { SimpleScan * self; - self = SIMPLE_SCAN (obj); + Book* _tmp0_; + guint _tmp1_ = 0U; + Book* _tmp2_; + guint _tmp3_ = 0U; + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SIMPLE_SCAN, SimpleScan); + _tmp0_ = self->priv->book; + g_signal_parse_name ("page-removed", TYPE_BOOK, &_tmp1_, NULL, FALSE); + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _simple_scan_page_removed_cb_book_page_removed, self); + _tmp2_ = self->priv->book; + g_signal_parse_name ("page-added", TYPE_BOOK, &_tmp3_, NULL, FALSE); + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _simple_scan_page_added_cb_book_page_added, self); _g_object_unref0 (self->priv->settings); _g_object_unref0 (self->priv->builder); _g_object_unref0 (self->priv->window); diff -Nru simple-scan-3.4.1/src/ui.vala simple-scan-3.4.3/src/ui.vala --- simple-scan-3.4.1/src/ui.vala 2012-04-17 06:10:02.000000000 +0000 +++ simple-scan-3.4.3/src/ui.vala 2013-03-21 20:37:04.000000000 +0000 @@ -101,6 +101,12 @@ load (); } + ~UserInterface () + { + book.page_removed.disconnect (page_removed_cb); + book.page_added.disconnect (page_added_cb); + } + private bool find_scan_device (string device, out Gtk.TreeIter iter) { bool have_iter = false; @@ -351,14 +357,14 @@ /* Filter to only show images by default */ var filter = new Gtk.FileFilter (); - filter.set_name (/* Save dialog: Filter name to show only image files */ - _("Image Files")); + filter.set_filter_name (/* Save dialog: Filter name to show only image files */ + _("Image Files")); filter.add_pixbuf_formats (); filter.add_mime_type ("application/pdf"); save_dialog.add_filter (filter); filter = new Gtk.FileFilter (); - filter.set_name (/* Save dialog: Filter name to show all files */ - _("All Files")); + filter.set_filter_name (/* Save dialog: Filter name to show all files */ + _("All Files")); filter.add_pattern ("*"); save_dialog.add_filter (filter); @@ -424,6 +430,7 @@ settings.set_string ("save-directory", save_dialog.get_current_folder ()); + file_type_view.get_selection ().changed.disconnect (on_file_type_changed); save_dialog.destroy (); save_dialog = null; @@ -527,6 +534,8 @@ _("Discard Changes"))) return; + if (scanning) + stop_scan (); clear_document (); } @@ -1044,6 +1053,8 @@ { warning ("Error printing: %s", e.message); } + + print.draw_page.disconnect (draw_page); } [CCode (cname = "G_MODULE_EXPORT help_contents_menuitem_activate_cb", instance_pos = -1)] @@ -1197,6 +1208,9 @@ private void page_removed_cb (Book book, Page page) { + page.size_changed.disconnect (page_size_changed_cb); + page.scan_direction_changed.disconnect (page_scan_direction_changed_cb); + /* If this is the last page add a new blank one */ if (book.get_n_pages () == 1) add_default_page ();