Comment 52 for bug 179988

Revision history for this message
Alvin Penner (apenner) wrote :

still running win32 binary : Inkscape-0.45+0.46pre3-1.win32.exe
    by trial and error I think I have accidentally stumbled onto something that would be worth investigating some more. I can make the cairo_win32_surface error go away or come back again as I please by adjusting the relative values of the default printer compared to the selected printer. In the print dialog there is both a "default" and a "selected" printer. These are normally the same, but need not be, and in this case they *should not* be.

I have two printer drivers, a BJC-250 (which is physically attached) and an i550 driver (with no printer attached).
Steps to reproduce:
Run 1:
- close Inkscape, use control panel to select BJC-250 as the default
- run Inkscape, draw green border, choose Print and use the default BJC printer
- get no printing, no printer icon in taskbar, and no formfeed
- close Inkscape and get DOS message : cairo_win32_surface_create: The handle is invalid.
Run 2:
- close Inkscape, use control panel to select i550 as the default, even though there is no such printer attached
- run Inkscape, draw green border, choose Print and use the default i550 printer
- get a line of one single pixel's worth of output at the top, plus a formfeed
- close Inkscape and get *no* DOS message
Run 3:
- close Inkscape, leave the i550 as the default
- run Inkscape, draw green border, choose Print and select the BJC-250 without changing the default printer
- get a rectangle about 1/6 of the size of the full page, plus a formfeed
- close Inkscape and get *no* DOS message
- in the rectangle is the appropriate green border, plus a black filled center

the image needs some tweaking before it will look nice, but at least there is printing, whereas previously there was none.
It appears to be mandatory that the selected printer cannot be the same as the default printer, sort of like an address off-by-one?