Re: Problems enumerating printers
- From: Armin Burgmeier <armin arbur net>
- To: Tor Krill <tor krill nu>
- Cc: gtkmm-list gnome org
- Subject: Re: Problems enumerating printers
- Date: Thu, 01 Jan 2009 15:58:35 +0100
On Tue, 2008-12-30 at 00:09 +0100, Tor Krill wrote:
> Hi,
>
> I have a bit of a newbie problem. Im trying to enumerate printers on a
> system. Doing so i get a lot off errors. Cut down version of code:
>
> ----------8<----------------------------------------------------------
> #include <iostream>
> #include <gtkmm.h>
> #include <gtkmm/main.h>
>
> using namespace std;
>
> static bool enumerate(const Glib::RefPtr<Gtk::Printer>& printer){
>
> cout << "Printer:"<<printer->property_name()<<endl;
>
> return false;
> }
>
>
> int main(int argc, char *argv[]) {
> Gtk::Main kit(argc, argv);
>
> Gtk::enumerate_printers(sigc::ptr_fun(enumerate),true);
>
> return 0;
> }
> ----------8<----------------------------------------------------------
>
> Output when executing:
>
> ----------8<----------------------------------------------------------
> tor sid:~/tests/cpp_enumerate$ ./enumtest
> Printer:Print to File
>
> (enumtest:30909): GLib-GObject-CRITICAL **: g_object_unref: assertion
> `G_IS_OBJECT (object)' failed
> Printer:QL-500
> Printer:tors
>
> (enumtest:30909): GLib-GObject-CRITICAL **: g_object_unref: assertion
> `G_IS_OBJECT (object)' failed
>
> (enumtest:30909): GLib-GObject-CRITICAL **: g_object_unref: assertion
> `G_IS_OBJECT (object)' failed
> ----------8<----------------------------------------------------------
This was a bug in gtkmm. I have fixed it in SVN (gtkmm-2-12, gtkmm-2-14
and trunk). Until that fix hits a tarball release you can use the C API
directly:
#include <gtk/gtkunixprint.h>
gboolean enumerate(GtkPrinter* printer_, gpointer data)
{
Glib::RefPtr<Printer> printer(printer_, true);
std::cout << printer->property_name() << std::endl;
}
gtk_enumerate_printers(enumerate, NULL, NULL, TRUE);
You'll also need to specify gtk+-unix-print-2.0 in pkg-config for this to work.
Armin
[Date Prev][
Date Next] [Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]