I am using the GtkPrint* functions to print. However at what seems to be random occurrences the application crashes with the following error: Gdk:ERROR:gdkeventloop-quartz. Abort trap When the user clicks on the print button a signal is generated and the application comand function executes based on the following case statement: ... case ISI_PERM_MENU_COMPONENT_FORMULA_PRINT: if( isi_app_check_permission(prev_self, ISI_PERM_MENU_COMPONENT_FORMULA_PRINT) && prev_self->component != NULL){ isi_display_page_setup( prev_self->display, prev_self->component,FALSE); isi_display_print(prev_self->display); } else { isi_user_message(NULL,"Not Allowed","You do not have permission to print formulas.",0); } break; ... void isi_display_print(IsiDisplay *self){ GtkPrintOperation *print = NULL; GtkPrintSettings *printer_settings = NULL; GtkPageSetup *page_setup = NULL; GtkPaperSize *paper_size = NULL; guint ctype; /* Sanity Check */ g_return_if_fail(self != NULL); g_return_if_fail(ISI_IS_DISPLAY(self) != FALSE); g_return_if_fail(self->priv != NULL); g_return_if_fail(self->priv->dispose_has_run != TRUE); /* Create a new print operation */ print = gtk_print_operation_new(); /* Create new page setup and paper size */ page_setup = gtk_page_setup_new(); paper_size = gtk_paper_size_new(GTK_PAPER_NAME_LETTER); gtk_page_setup_set_paper_size(page_setup,paper_size); /* Set the default to the new page setup */ gtk_print_operation_set_default_page_setup(print,page_setup); /* Make sure we always do full page printing*/ gtk_print_operation_set_unit(print,GTK_UNIT_INCH); gtk_print_operation_set_use_full_page(print,TRUE); gtk_print_operation_set_n_pages (print, self->priv->page_count); g_signal_connect(print, "draw-page", G_CALLBACK(isi_display_print_event),(gpointer)self); /* SOMEWHERE IN THIS FUNCTION THE DIALOG BLOWS UP!! */ gtk_print_operation_run(print,GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG,NULL,NULL); return;} Any help would be greatly appreciated. The problem is pervasive will most printer types, but is exacerbated with the HP CP3525 Color Laserjet printer. Shawn
|