[hpoj-devel] [sane-devel] xsane infinite recursion

David Paschal paschal@rcsis.com
Sat, 27 Apr 2002 01:22:06 -0700


This is a multipart MIME message.

--==_Exmh_5496210400
Content-Type: text/plain; charset=us-ascii

Hi, Oliver.  With the hpoj backend (http://hpoj.sourceforge.net), xsane
(0.86, 0.84, and likely other versions as well) gets into a state of
infinite recursion when you switch from Scan to either Copy or Fax mode.
The visual symptom is that the selection rectangle in the preview window
starts flashing rapidly, and xsane is otherwise unresponsive, uses up
a large percentage of CPU time, and eventually segfaults due to the
overflowed stack.

When I run it through gdb and get a backtrace, I get the following four
stack frames repeated over and over again:

#600 0x08060354 in preview_update_selection (p=0x81be348)
    at xsane-preview.c:714
#601 0x080675a6 in preview_update_surface (p=0x81be348, surface_changed=0)
    at xsane-preview.c:3832
#602 0x08058b75 in xsane_update_param (arg=0x0) at xsane-front-gtk.c:1642
#603 0x0806040b in preview_establish_selection (p=0x81be348)
    at xsane-preview.c:743

followed by the following four stack frames and the rest of the call chain
up to main():

#604 0x0806be82 in preview_set_maximum_output_size (p=0x81be348,
    width=203.199997, height=294.600006) at xsane-preview.c:5908
#605 0x08055b82 in xsane_define_maximum_output_size () at xsane-front-gtk.c:446
#606 0x0808923a in xsane_set_modus_defaults () at xsane.c:560
#607 0x08089305 in xsane_modus_callback (xsane_parent=0x81b9f68, num=0x80b430c)
    at xsane.c:592

I am attaching the debug output from xsane (XSANE_DEBUG=99) and the hpoj
backend, starting from the point where I switch from Scan to Copy mode and
continuing until it looks like it starts to repeat itself.  Hopefully it's
self-explanatory what the backend is doing in response to getting and
setting the various geometry options, but if you want me to add more debug
information, then please let me know.

Do you have any idea of what I could be doing "wrong" in the backend to
make this happen?  It seems like a bug in xsane that allows a backend to
cause it to malfunction like this, which you should fix at some point.
But if possible, I would still like to put whatever fix is necessary into
the backend, in order to work properly with existing xsane installations.

Thanks,
David


--==_Exmh_5496210400
Content-Type: text/plain ; name="xsane_inf_recursion_log.txt"; charset=us-ascii
Content-Description: xsane_inf_recursion_log.txt
Content-Disposition: attachment; filename="xsane_inf_recursion_log.txt"

[xsane] xsane_modus_callback
[xsane] xsane_set_modus_defaults
[xsane] xsane_set_all_resolutions
[xsane] xsane_set_resolution
[xsane] xsane_get_option_descriptor(-1)
[xsane] xsane_set_resolution
[xsane] xsane_get_option_descriptor(3)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_get_option_descriptor(option=3)
hpoj:mlc:usb:officejet_d_series: option=3 name=<resolution>
	type=1 unit=4 size=4 cap=0x05 ctype=1
	min=50, max=1200, quant=0
[xsane] xsane_find_best_resolution
[xsane] xsane_get_option_descriptor(3)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_get_option_descriptor(option=3)
hpoj:mlc:usb:officejet_d_series: option=3 name=<resolution>
	type=1 unit=4 size=4 cap=0x05 ctype=1
	min=50, max=1200, quant=0
[xsane] xsane_control_option(option = 3, action = 1)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=3,action=1)
hpoj:mlc:usb:officejet_d_series: hpojUpdateDescriptors(option=3)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=3,action=1): info=0x04
hpoj:mlc:usb:officejet_d_series: set option 3 = 150
[xsane] xsane_define_maximum_output_size
[xsane] xsane_get_option_descriptor(11)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_get_option_descriptor(option=11)
hpoj:mlc:usb:officejet_d_series: option=11 name=<tl-x>
	type=1 unit=3 size=4 cap=0x45 ctype=1
	min=0, max=215, quant=0
[xsane] preview_set_maximum_output_size
[xsane] preview_draw_selection
[xsane] preview_draw_rect [0.00 0.00 215.00 355.00]
[xsane] preview_transform_coordinates_device_to_window
[xsane] preview_get_scale_device_to_window: scale = 1.739535, 1.739535
[xsane] preview[0.00 0.00 215.00 355.00] -> window[0.00 0.00 374.00 617.53]
[xsane] preview_draw_rect [0.00 0.00 203.20 294.60]
[xsane] preview_transform_coordinates_device_to_window
[xsane] preview_get_scale_device_to_window: scale = 1.739535, 1.739535
[xsane] preview[0.00 0.00 203.20 294.60] -> window[0.00 0.00 353.47 512.47]
[xsane] preview_draw_rect [0.00 0.00 203.20 294.60]
[xsane] preview_transform_coordinates_device_to_window
[xsane] preview_get_scale_device_to_window: scale = 1.739535, 1.739535
[xsane] preview[0.00 0.00 203.20 294.60] -> window[0.00 0.00 353.47 512.47]


[xsane] preview_establish_selection
[xsane] preview_order_selection
[xsane] preview_rotate_previewsurface_to_devicesurface(rotation = 0)
[xsane] preview[0.00 0.00 203.20 294.60] -> device[0.00 0.00 203.20 294.60]
[xsane] preview_set_option_float
[xsane] xsane_get_option_descriptor(11)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_get_option_descriptor(option=11)
hpoj:mlc:usb:officejet_d_series: option=11 name=<tl-x>
	type=1 unit=3 size=4 cap=0x45 ctype=1
	min=0, max=215, quant=0
[xsane] xsane_control_option(option = 11, action = 1)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=11,action=1)
hpoj:mlc:usb:officejet_d_series: hpojUpdateDescriptors(option=11)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=11,action=1): info=0x04
hpoj:mlc:usb:officejet_d_series: set option 11 = 0
[xsane] preview_set_option_float
[xsane] xsane_get_option_descriptor(12)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_get_option_descriptor(option=12)
hpoj:mlc:usb:officejet_d_series: option=12 name=<tl-y>
	type=1 unit=3 size=4 cap=0x45 ctype=1
	min=0, max=355, quant=0
[xsane] xsane_control_option(option = 12, action = 1)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=12,action=1)
hpoj:mlc:usb:officejet_d_series: hpojUpdateDescriptors(option=12)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=12,action=1): info=0x04
hpoj:mlc:usb:officejet_d_series: set option 12 = 0
[xsane] preview_set_option_float
[xsane] xsane_get_option_descriptor(13)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_get_option_descriptor(option=13)
hpoj:mlc:usb:officejet_d_series: option=13 name=<br-x>
	type=1 unit=3 size=4 cap=0x45 ctype=1
	min=0, max=215, quant=0
[xsane] xsane_control_option(option = 13, action = 1)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=13,action=1)
hpoj:mlc:usb:officejet_d_series: hpojUpdateDescriptors(option=13)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=13,action=1): info=0x04
hpoj:mlc:usb:officejet_d_series: set option 13 = 203
[xsane] preview_set_option_float
[xsane] xsane_get_option_descriptor(14)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_get_option_descriptor(option=14)
hpoj:mlc:usb:officejet_d_series: option=14 name=<br-y>
	type=1 unit=3 size=4 cap=0x45 ctype=1
	min=0, max=355, quant=0
[xsane] xsane_control_option(option = 14, action = 1)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=14,action=1)
hpoj:mlc:usb:officejet_d_series: hpojUpdateDescriptors(option=14)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=14,action=1): info=0x04
hpoj:mlc:usb:officejet_d_series: set option 14 = 295
[xsane] xsane_back_gtk_update_scan_window
[xsane] xsane_get_option_descriptor(11)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_get_option_descriptor(option=11)
hpoj:mlc:usb:officejet_d_series: option=11 name=<tl-x>
	type=1 unit=3 size=4 cap=0x45 ctype=1
	min=0, max=215, quant=0
[xsane] xsane_control_option(option = 11, action = 0)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=11,action=0)
hpoj:mlc:usb:officejet_d_series: option 11 = 0
[xsane] xsane_get_option_descriptor(12)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_get_option_descriptor(option=12)
hpoj:mlc:usb:officejet_d_series: option=12 name=<tl-y>
	type=1 unit=3 size=4 cap=0x45 ctype=1
	min=0, max=355, quant=0
[xsane] xsane_control_option(option = 12, action = 0)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=12,action=0)
hpoj:mlc:usb:officejet_d_series: option 12 = 0
[xsane] xsane_get_option_descriptor(13)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_get_option_descriptor(option=13)
hpoj:mlc:usb:officejet_d_series: option=13 name=<br-x>
	type=1 unit=3 size=4 cap=0x45 ctype=1
	min=0, max=215, quant=0
[xsane] xsane_control_option(option = 13, action = 0)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=13,action=0)
hpoj:mlc:usb:officejet_d_series: option 13 = 203
[xsane] xsane_back_gtk_range_update
[xsane] xsane_get_option_descriptor(13)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_get_option_descriptor(option=13)
hpoj:mlc:usb:officejet_d_series: option=13 name=<br-x>
	type=1 unit=3 size=4 cap=0x45 ctype=1
	min=0, max=215, quant=0
[xsane] xsane_back_gtk_set_option
[xsane] xsane_control_option(option = 13, action = 1)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=13,action=1)
hpoj:mlc:usb:officejet_d_series: hpojUpdateDescriptors(option=13)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=13,action=1): info=0x04
hpoj:mlc:usb:officejet_d_series: set option 13 = 203
[xsane] xsane_update_param
[xsane] xsane_control_option(option = 13, action = 0)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=13,action=0)
hpoj:mlc:usb:officejet_d_series: option 13 = 203
[xsane] xsane_get_option_descriptor(14)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_get_option_descriptor(option=14)
hpoj:mlc:usb:officejet_d_series: option=14 name=<br-y>
	type=1 unit=3 size=4 cap=0x45 ctype=1
	min=0, max=355, quant=0
[xsane] xsane_control_option(option = 14, action = 0)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=14,action=0)
hpoj:mlc:usb:officejet_d_series: option 14 = 295
[xsane] xsane_back_gtk_range_update
[xsane] xsane_get_option_descriptor(14)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_get_option_descriptor(option=14)
hpoj:mlc:usb:officejet_d_series: option=14 name=<br-y>
	type=1 unit=3 size=4 cap=0x45 ctype=1
	min=0, max=355, quant=0
[xsane] xsane_back_gtk_set_option
[xsane] xsane_control_option(option = 14, action = 1)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=14,action=1)
hpoj:mlc:usb:officejet_d_series: hpojUpdateDescriptors(option=14)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=14,action=1): info=0x04
hpoj:mlc:usb:officejet_d_series: set option 14 = 295
[xsane] xsane_update_param
[xsane] xsane_control_option(option = 14, action = 0)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=14,action=0)
hpoj:mlc:usb:officejet_d_series: option 14 = 295
[xsane] xsane_update_param
[xsane] preview_update_surface
[xsane] preview_update_selection
[xsane] xsane_get_option_descriptor(11)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_get_option_descriptor(option=11)
hpoj:mlc:usb:officejet_d_series: option=11 name=<tl-x>
	type=1 unit=3 size=4 cap=0x45 ctype=1
	min=0, max=215, quant=0
[xsane] xsane_control_option(option = 11, action = 0)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=11,action=0)
hpoj:mlc:usb:officejet_d_series: option 11 = 0
[xsane] xsane_get_option_descriptor(12)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_get_option_descriptor(option=12)
hpoj:mlc:usb:officejet_d_series: option=12 name=<tl-y>
	type=1 unit=3 size=4 cap=0x45 ctype=1
	min=0, max=355, quant=0
[xsane] xsane_control_option(option = 12, action = 0)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=12,action=0)
hpoj:mlc:usb:officejet_d_series: option 12 = 0
[xsane] xsane_get_option_descriptor(13)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_get_option_descriptor(option=13)
hpoj:mlc:usb:officejet_d_series: option=13 name=<br-x>
	type=1 unit=3 size=4 cap=0x45 ctype=1
	min=0, max=215, quant=0
[xsane] xsane_control_option(option = 13, action = 0)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=13,action=0)
hpoj:mlc:usb:officejet_d_series: option 13 = 203
[xsane] xsane_get_option_descriptor(14)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_get_option_descriptor(option=14)
hpoj:mlc:usb:officejet_d_series: option=14 name=<br-y>
	type=1 unit=3 size=4 cap=0x45 ctype=1
	min=0, max=355, quant=0
[xsane] xsane_control_option(option = 14, action = 0)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=14,action=0)
hpoj:mlc:usb:officejet_d_series: option 14 = 295
[xsane] preview_rotate_devicesurface_to_previewsurface(rotation = 0)
[xsane] device[0.00 0.00 203.00 295.00] -> preview[0.00 0.00 203.00 295.00]
[xsane] preview_draw_selection
[xsane] preview_draw_rect [0.00 0.00 203.20 294.60]
[xsane] preview_transform_coordinates_device_to_window
[xsane] preview_get_scale_device_to_window: scale = 1.739535, 1.739535
[xsane] preview[0.00 0.00 203.20 294.60] -> window[0.00 0.00 353.47 512.47]
[xsane] preview_draw_rect [0.00 0.00 203.00 294.60]
[xsane] preview_transform_coordinates_device_to_window
[xsane] preview_get_scale_device_to_window: scale = 1.739535, 1.739535
[xsane] preview[0.00 0.00 203.00 294.60] -> window[0.00 0.00 353.13 512.47]
[xsane] preview_draw_rect [0.00 0.00 203.20 294.60]
[xsane] preview_transform_coordinates_device_to_window
[xsane] preview_get_scale_device_to_window: scale = 1.739535, 1.739535
[xsane] preview[0.00 0.00 203.20 294.60] -> window[0.00 0.00 353.47 512.47]
[xsane] preview_draw_rect [0.00 0.00 203.20 294.60]
[xsane] preview_transform_coordinates_device_to_window
[xsane] preview_get_scale_device_to_window: scale = 1.739535, 1.739535
[xsane] preview[0.00 0.00 203.20 294.60] -> window[0.00 0.00 353.47 512.47]


[xsane] preview_establish_selection
[xsane] preview_order_selection
[xsane] preview_rotate_previewsurface_to_devicesurface(rotation = 0)
[xsane] preview[0.00 0.00 203.00 294.60] -> device[0.00 0.00 203.00 294.60]
[xsane] preview_set_option_float
[xsane] xsane_get_option_descriptor(11)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_get_option_descriptor(option=11)
hpoj:mlc:usb:officejet_d_series: option=11 name=<tl-x>
	type=1 unit=3 size=4 cap=0x45 ctype=1
	min=0, max=215, quant=0
[xsane] xsane_control_option(option = 11, action = 1)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=11,action=1)
hpoj:mlc:usb:officejet_d_series: hpojUpdateDescriptors(option=11)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=11,action=1): info=0x04
hpoj:mlc:usb:officejet_d_series: set option 11 = 0
[xsane] preview_set_option_float
[xsane] xsane_get_option_descriptor(12)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_get_option_descriptor(option=12)
hpoj:mlc:usb:officejet_d_series: option=12 name=<tl-y>
	type=1 unit=3 size=4 cap=0x45 ctype=1
	min=0, max=355, quant=0
[xsane] xsane_control_option(option = 12, action = 1)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=12,action=1)
hpoj:mlc:usb:officejet_d_series: hpojUpdateDescriptors(option=12)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=12,action=1): info=0x04
hpoj:mlc:usb:officejet_d_series: set option 12 = 0
[xsane] preview_set_option_float
[xsane] xsane_get_option_descriptor(13)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_get_option_descriptor(option=13)
hpoj:mlc:usb:officejet_d_series: option=13 name=<br-x>
	type=1 unit=3 size=4 cap=0x45 ctype=1
	min=0, max=215, quant=0
[xsane] xsane_control_option(option = 13, action = 1)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=13,action=1)
hpoj:mlc:usb:officejet_d_series: hpojUpdateDescriptors(option=13)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=13,action=1): info=0x04
hpoj:mlc:usb:officejet_d_series: set option 13 = 203
[xsane] preview_set_option_float
[xsane] xsane_get_option_descriptor(14)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_get_option_descriptor(option=14)
hpoj:mlc:usb:officejet_d_series: option=14 name=<br-y>
	type=1 unit=3 size=4 cap=0x45 ctype=1
	min=0, max=355, quant=0
[xsane] xsane_control_option(option = 14, action = 1)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=14,action=1)
hpoj:mlc:usb:officejet_d_series: hpojUpdateDescriptors(option=14)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=14,action=1): info=0x04
hpoj:mlc:usb:officejet_d_series: set option 14 = 295
[xsane] xsane_back_gtk_update_scan_window
[xsane] xsane_get_option_descriptor(11)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_get_option_descriptor(option=11)
hpoj:mlc:usb:officejet_d_series: option=11 name=<tl-x>
	type=1 unit=3 size=4 cap=0x45 ctype=1
	min=0, max=215, quant=0
[xsane] xsane_control_option(option = 11, action = 0)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=11,action=0)
hpoj:mlc:usb:officejet_d_series: option 11 = 0
[xsane] xsane_get_option_descriptor(12)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_get_option_descriptor(option=12)
hpoj:mlc:usb:officejet_d_series: option=12 name=<tl-y>
	type=1 unit=3 size=4 cap=0x45 ctype=1
	min=0, max=355, quant=0
[xsane] xsane_control_option(option = 12, action = 0)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=12,action=0)
hpoj:mlc:usb:officejet_d_series: option 12 = 0
[xsane] xsane_get_option_descriptor(13)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_get_option_descriptor(option=13)
hpoj:mlc:usb:officejet_d_series: option=13 name=<br-x>
	type=1 unit=3 size=4 cap=0x45 ctype=1
	min=0, max=215, quant=0
[xsane] xsane_control_option(option = 13, action = 0)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=13,action=0)
hpoj:mlc:usb:officejet_d_series: option 13 = 203
[xsane] xsane_get_option_descriptor(14)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_get_option_descriptor(option=14)
hpoj:mlc:usb:officejet_d_series: option=14 name=<br-y>
	type=1 unit=3 size=4 cap=0x45 ctype=1
	min=0, max=355, quant=0
[xsane] xsane_control_option(option = 14, action = 0)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=14,action=0)
hpoj:mlc:usb:officejet_d_series: option 14 = 295
[xsane] xsane_update_param
[xsane] preview_update_surface
[xsane] preview_update_selection
[xsane] xsane_get_option_descriptor(11)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_get_option_descriptor(option=11)
hpoj:mlc:usb:officejet_d_series: option=11 name=<tl-x>
	type=1 unit=3 size=4 cap=0x45 ctype=1
	min=0, max=215, quant=0
[xsane] xsane_control_option(option = 11, action = 0)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=11,action=0)
hpoj:mlc:usb:officejet_d_series: option 11 = 0
[xsane] xsane_get_option_descriptor(12)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_get_option_descriptor(option=12)
hpoj:mlc:usb:officejet_d_series: option=12 name=<tl-y>
	type=1 unit=3 size=4 cap=0x45 ctype=1
	min=0, max=355, quant=0
[xsane] xsane_control_option(option = 12, action = 0)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=12,action=0)
hpoj:mlc:usb:officejet_d_series: option 12 = 0
[xsane] xsane_get_option_descriptor(13)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_get_option_descriptor(option=13)
hpoj:mlc:usb:officejet_d_series: option=13 name=<br-x>
	type=1 unit=3 size=4 cap=0x45 ctype=1
	min=0, max=215, quant=0
[xsane] xsane_control_option(option = 13, action = 0)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=13,action=0)
hpoj:mlc:usb:officejet_d_series: option 13 = 203
[xsane] xsane_get_option_descriptor(14)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_get_option_descriptor(option=14)
hpoj:mlc:usb:officejet_d_series: option=14 name=<br-y>
	type=1 unit=3 size=4 cap=0x45 ctype=1
	min=0, max=355, quant=0
[xsane] xsane_control_option(option = 14, action = 0)
hpoj:mlc:usb:officejet_d_series: sane_hpoj_control_option(option=14,action=0)
hpoj:mlc:usb:officejet_d_series: option 14 = 295
[xsane] preview_rotate_devicesurface_to_previewsurface(rotation = 0)
[xsane] device[0.00 0.00 203.00 295.00] -> preview[0.00 0.00 203.00 295.00]
[xsane] preview_draw_selection
[xsane] preview_draw_rect [0.00 0.00 203.00 294.60]
[xsane] preview_transform_coordinates_device_to_window
[xsane] preview_get_scale_device_to_window: scale = 1.739535, 1.739535
[xsane] preview[0.00 0.00 203.00 294.60] -> window[0.00 0.00 353.13 512.47]
[xsane] preview_draw_rect [0.00 0.00 203.00 294.60]
[xsane] preview_transform_coordinates_device_to_window
[xsane] preview_get_scale_device_to_window: scale = 1.739535, 1.739535
[xsane] preview[0.00 0.00 203.00 294.60] -> window[0.00 0.00 353.13 512.47]
[xsane] preview_draw_rect [0.00 0.00 203.20 294.60]
[xsane] preview_transform_coordinates_device_to_window
[xsane] preview_get_scale_device_to_window: scale = 1.739535, 1.739535
[xsane] preview[0.00 0.00 203.20 294.60] -> window[0.00 0.00 353.47 512.47]
[xsane] preview_draw_rect [0.00 0.00 203.20 294.60]
[xsane] preview_transform_coordinates_device_to_window
[xsane] preview_get_scale_device_to_window: scale = 1.739535, 1.739535
[xsane] preview[0.00 0.00 203.20 294.60] -> window[0.00 0.00 353.47 512.47]

--==_Exmh_5496210400--