[no subject]



So I'm working on this code: GPrinter.cpp
<https://github.com/memecode/Lgi/blob/master/src/linux/Lgi/GPrinter.cpp?ts=4>
(and it's header
<https://github.com/memecode/Lgi/blob/master/include/common/GPrinter.h?ts=4>
).

And GPrinter::Print when I call gtk_print_operation_run I get a printer
selection dialog (on Ubuntu Linux), where I select a valid printer and
click OK. At which point I'm expecting it to call the begin-print signal so
I can calculate the number of pages. But instead nothing happens... at
all.. it just kinds waits forever.

If I break the app at that point I get this stack trace:
#0  0x00007ffff6a6312d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ffff51effe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff51f030a in g_main_loop_run ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff64990ed in print_pages (op=op entry=0x1206b30,
    parent=parent entry=0xfde0a0, do_print=<optimized out>,
    result=result entry=GTK_PRINT_OPERATION_RESULT_APPLY)
    at /build/gtk+2.0-3ongxb/gtk+2.0-2.24.23/gtk/gtkprintoperation.c:2958
#4  0x00007ffff649a14c in IA__gtk_print_operation_run (op=0x1206b30,
    action=<optimized out>, parent=0xfde0a0, error=0x7fffffffce18)
    at /build/gtk+2.0-3ongxb/gtk+2.0-2.24.23/gtk/gtkprintoperation.c:3132
#5  0x00007ffff7502431 in GPrinter::Print (this=0x12cbae0,
Events=0x12bddb0,
    PrintJobName=0x914ec9 "InScribe", Pages=-1, Parent=0xe441c0)
    at src/linux/Lgi/GPrinter.cpp:200
#6  0x000000000057bc59 in ScribeWnd::ThingPrint (this=0xe441c0,
m=0x1258cc0,
    Printer=0x12cbae0, Parent=0x0, MaxPages=-1) at Code/ScribeApp.cpp:5949
#7  0x000000000057e7ef in ScribeWnd::OnCommand (this=0xe441c0, Cmd=40005,
    Event=0, WndHandle=0xee3f00) at Code/ScribeApp.cpp:6550
...snipped unimportant stack frames...


Is there something I'm missing here?

Why is the GtkPrintBegin signal not called?

Regards
Matt


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]