Re: [Gtk-osx-users] Random crashes when printing on OS X



On Feb 4, 2010, at 3:44 PM, Shawn Bakhtiar wrote:

> 
> 
> 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.c:559:select_thread_collect_poll: assertion failed: (ufds[i].fd == current_pollfds[i].fd)
> 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
> 

Join http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list and ask there. 

Regards,
John Ralls





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