void bst_canvas_link_set_icsource (BstCanvasLink *clink, BstCanvasSource *icsource, guint ichannel) { g_return_if_fail (BST_IS_CANVAS_LINK (clink)); if (icsource) g_return_if_fail (BST_CANVAS_SOURCE (icsource)); if (clink->icsource) { if (clink->icsource->source) /* source may be destroyed already */ bse_proxy_disconnect (clink->icsource->source, "any_signal", clink_view_check_update, clink, NULL); if (g_signal_handler_is_connected (clink->icsource, clink->ic_handler)) gtk_signal_disconnect (GTK_OBJECT (clink->icsource), clink->ic_handler); gtk_object_unref (GTK_OBJECT (clink->icsource)); } clink->icsource = icsource; clink->ichannel = ichannel; if (clink->icsource) { gtk_object_ref (GTK_OBJECT (clink->icsource)); clink->ic_handler = gtk_signal_connect_object (GTK_OBJECT (clink->icsource), "notify", G_CALLBACK (bst_canvas_link_update), GTK_OBJECT (clink)); bse_proxy_connect (clink->icsource->source, "swapped_signal::property-notify::uname", clink_view_check_update, clink, NULL); bst_canvas_link_update (clink); } }
static void ghack_quit_game(GtkWidget *widget, int button) { gtk_widget_hide(widget); if (button == 0) { gnome_exit_nhwindows(0); gtk_object_unref(GTK_OBJECT(session_id)); } }
static void gv_tool_real_deactivate(GvTool *tool, GvViewArea *view) { g_return_if_fail(tool->view == view); gtk_signal_disconnect_by_data(GTK_OBJECT(tool->view), (gpointer)tool); tool->view = NULL; gtk_object_unref(GTK_OBJECT(view)); }
static gboolean window_unref (gpointer w) { /* If the window exists, has no parent, is still not visible, and has only two references (mine and toplevel_list), then destroy it. */ if (GTK_WINDOW(w)->has_user_ref_count && !GTK_WIDGET_VISIBLE(w) && G_OBJECT(w)->ref_count == 2) gtk_object_destroy ((GtkObject*)w); gtk_object_unref((GtkObject*)w); return 0; }
/** * c2_filter_match_mailbox_full * @mailbox: Mailbox where to work. * @func: Callback function (might be %NULL). * @...: List of rules to apply ending with a %NULL. * * Return Value: * The list of mails that apply to the rule(s) in Virtual DB. **/ C2VDb * c2_filter_match_mailbox_full (C2Mailbox *mailbox, C2FilterCallback func, ...) { va_list args; GSList *list = NULL; C2Db *head = NULL, *l; /* Create the list of rules */ va_start (args, func); for (;;) { C2FilterRule *rule = va_arg (args, C2FilterRule*); if (!rule) break; list = g_slist_append (list, rule); } va_end (args); if (mailbox->db) { l = mailbox->db; do { C2Message *message; C2VDb *vdb; gboolean retval; if (c2_db_load_message (l) < 0) continue; message = l->message; gtk_object_ref (GTK_OBJECT (message)); retval = match_message_full (message, list); gtk_object_unref (GTK_OBJECT (message)); if (retval) { vdb = c2_vdb_new (l); c2_vdb_append (head, vdb); } } while (c2_db_lineal_next (l)); } g_slist_free (list); return head; }
GtkWidget * sp_widget_new_global (Inkscape::Application *inkscape) { SPWidget *spw; spw = (SPWidget*)gtk_type_new (SP_TYPE_WIDGET); if (!sp_widget_construct_global (spw, inkscape)) { gtk_object_unref (GTK_OBJECT (spw)); return NULL; } return (GtkWidget *) spw; }
/* ** Load and set up GUI with libglade */ GtkWidget *InitTestMEdWindow( void ) { GtkWidget *win=NULL, *frame=NULL; GladeXML *xml=NULL; char *rootnode=NULL; // This is probably never needed errormsg(MAPDEBUG1,"InitTestMEdWindow: Entered"); glade_init(); errormsg(MAPDEBUG4,"InitTestMEdWindow: glade_init done"); xml = glade_xml_new(TESTMAPEDITFILE, rootnode); errormsg(MAPDEBUG4,"InitTestMEdWindow: glade_xml_new done"); if (!xml) { g_warning("something bad happened while creating the interface"); CloseAll(); exit(20); } if (rootnode) // Probably never needed { GtkWidget *wid = glade_xml_get_widget(xml, rootnode); if (!GTK_IS_WINDOW(wid)) { win = gtk_window_new(GTK_WINDOW_TOPLEVEL); errormsg(MAPDEBUG3,"InitTestMEdWindow: win=%x",win); gtk_signal_connect(GTK_OBJECT(win), "destroy", GTK_SIGNAL_FUNC(gtk_main_quit), NULL); gtk_container_set_border_width(GTK_CONTAINER(win), 5); frame = gtk_frame_new(NULL); gtk_container_set_border_width(GTK_CONTAINER(frame), 5); gtk_container_add(GTK_CONTAINER(win), frame); gtk_widget_show(frame); gtk_container_add(GTK_CONTAINER(frame), wid); gtk_widget_show(win); } else win=wid; } // Connect signals errormsg(MAPDEBUG3,"InitTestMEdWindow: win=%x",win); glade_xml_signal_autoconnect(xml); gtk_object_unref(GTK_OBJECT(xml)); errormsg(MAPDEBUG3,"InitTestMEdWindow: win=%x now!",win); errormsg(MAPDEBUG1,"InitTestMEdWindow: Finished succesfully"); return win; // Problem: We never get a window pointer ? }
static void destroy (GtkObject *object) { C2Dialog *dialog; dialog = C2_DIALOG (object); c2_application_window_remove (dialog->application, GTK_WINDOW (dialog)); if (dialog->xml) gtk_object_unref (GTK_OBJECT (dialog->xml)); g_free (gtk_object_get_data (object, "type")); g_free (gtk_object_get_data (object, "icon")); }
GtkWidget * sp_widget_new_repr (SPRepr *repr) { SPWidget *spw; g_return_val_if_fail (repr != NULL, NULL); spw = (SPWidget*)gtk_type_new (SP_TYPE_WIDGET); if (!sp_widget_construct_repr (spw, repr)) { gtk_object_unref (GTK_OBJECT (spw)); return NULL; } return (GtkWidget *) spw; }
static void gtk_juno_slider_destroy( GtkObject *object ) { GtkJunoSlider *juno_slider; g_return_if_fail( object != NULL ); g_return_if_fail( GTK_IS_JUNO_SLIDER( object ) ); juno_slider = GTK_JUNO_SLIDER( object ); if ( juno_slider->adjustment ) gtk_object_unref( GTK_OBJECT( juno_slider->adjustment ) ); if ( GTK_OBJECT_CLASS (parent_class)->destroy ) (* GTK_OBJECT_CLASS (parent_class)->destroy) (object); }
static int ui_gtk_query_filechooser(const char *header, const char *title, const char *dir, ship_list_t *filetypes, char **filename) { GtkDialog *diag = NULL; int ret = -1; GtkFileFilter *filter = NULL; gdk_threads_enter(); ASSERT_TRUE(diag = (GtkDialog*)gtk_file_chooser_dialog_new(header, NULL, GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL), err); if (filetypes && ship_list_length(filetypes)) { void *ptr = NULL; char *t = NULL; ASSERT_TRUE(filter = gtk_file_filter_new(), err); while ((t = ship_list_next(filetypes, &ptr))) { gtk_file_filter_add_pattern(filter, t); } gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(diag), filter); } gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(diag), dir); if ((ret = gtk_dialog_run(diag)) == GTK_RESPONSE_ACCEPT) { *filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(diag)); ret = 0; } err: if (filter) gtk_object_unref(GTK_OBJECT(filter)); if (diag) gtk_widget_destroy((GtkWidget*)diag); gdk_threads_leave(); return ret; }
void gradient_select_free (GradientSelect *gsp) { if (!gsp) return; /* remove from active list */ gradient_active_dialogs = g_slist_remove (gradient_active_dialogs, gsp); gtk_signal_disconnect_by_data (GTK_OBJECT (gsp->context), gsp); if (gsp->callback_name) { g_free (gsp->callback_name); gtk_object_unref (GTK_OBJECT (gsp->context)); } g_free (gsp); }
PRIVATE void kill_popup(GtkWidget *popup, GtkItemFactory *ifact) { gtk_object_unref(GTK_OBJECT(ifact)); }
gint c2_smtp_send_message (C2SMTP *smtp, C2Message *message, const gint id) { C2NetObjectByte *byte = NULL; gchar *buffer; gtk_object_ref (GTK_OBJECT (message)); smtp->uses++; if(!smtp->in_use.lock) c2_mutex_lock(&smtp->in_use); if(smtp->type == C2_SMTP_REMOTE) { c2_mutex_lock(&smtp->lock); if(smtp->flags & C2_SMTP_DO_PERSIST) byte = smtp->persistent; if(!byte) { if(c2_smtp_connect(smtp, &byte) < 0) { smtp->uses--; if(!smtp->uses) c2_mutex_unlock(&smtp->in_use); gtk_signal_emit(GTK_OBJECT(smtp), signals[FINISHED], id, -1); return -1; } } if(smtp->flags & C2_SMTP_DO_PERSIST) smtp->persistent = byte; else smtp->persistent = NULL; if(smtp->flags & C2_SMTP_DO_NOT_PERSIST) c2_mutex_unlock(&smtp->lock); if(c2_smtp_send_headers(smtp, byte, message) < 0) { smtp->uses--; if(!smtp->uses) c2_mutex_unlock(&smtp->in_use); gtk_signal_emit(GTK_OBJECT(smtp), signals[FINISHED], id, -1); return -1; } if(c2_smtp_send_message_contents(smtp, byte, message, id) < 0) { smtp->uses--; if(!smtp->uses) c2_mutex_unlock(&smtp->in_use); gtk_signal_emit(GTK_OBJECT(smtp), signals[FINISHED], id, -1); return -1; } if(c2_net_object_send(C2_NET_OBJECT(smtp), byte, "\r\n.\r\n") < 0) { c2_smtp_set_error(smtp, SOCK_WRITE_FAILED); smtp_disconnect(smtp, byte); smtp->uses--; if(!smtp->uses) c2_mutex_unlock(&smtp->in_use); gtk_signal_emit(GTK_OBJECT(smtp), signals[FINISHED], id, -1); return -1; } if(c2_net_object_read(C2_NET_OBJECT(smtp), &buffer, byte) < 0) { c2_smtp_set_error(smtp, SOCK_READ_FAILED); smtp_disconnect(smtp, byte); smtp->uses--; if(!smtp->uses) c2_mutex_unlock(&smtp->in_use); gtk_signal_emit(GTK_OBJECT(smtp), signals[FINISHED], id, -1); return -1; } if(!c2_strneq(buffer, "250", 3)) { c2_smtp_set_error(smtp, _("SMTP server did not respond to our sent message in a friendly way")); g_free(buffer); smtp_disconnect(smtp, byte); smtp->uses--; if(!smtp->uses) c2_mutex_unlock(&smtp->in_use); gtk_signal_emit(GTK_OBJECT(smtp), signals[FINISHED], id, -1); return -1; } if(smtp->flags & C2_SMTP_DO_NOT_PERSIST) smtp_disconnect(smtp, byte); else c2_mutex_unlock(&smtp->lock); g_free(buffer); } else if(smtp->type == C2_SMTP_LOCAL) { gchar *file_name, *from, *to, *temp, *cmd; smtp->uses++; if(!smtp->in_use.lock) c2_mutex_lock(&smtp->in_use); file_name = c2_get_tmp_file (NULL); if(c2_smtp_local_write_msg(message, file_name) < 0) { g_free(file_name); c2_smtp_set_error(smtp, _("System Error: Unable to write message to disk for local SMTP command")); smtp->uses--; if(!smtp->uses) c2_mutex_unlock(&smtp->in_use); gtk_signal_emit(GTK_OBJECT(smtp), signals[FINISHED], id, -1); return -1; } /* get the proper to and from headers */ if(!(from = c2_message_get_header_field(message, "From: ")) || !(to = c2_smtp_local_get_recepients(message))) { c2_smtp_set_error(smtp, _("Internal C2 Error: Unable to fetch headers in email message")); unlink(file_name); if(from) g_free(from); g_free(file_name); smtp->uses--; if(!smtp->uses) c2_mutex_unlock(&smtp->in_use); gtk_signal_emit(GTK_OBJECT(smtp), signals[FINISHED], id, -1); return -1; } cmd = g_strdup(smtp->smtp_local_cmd); temp = cmd; cmd = c2_str_replace_all(cmd, "%m", file_name); g_free(temp); temp = cmd; cmd = c2_str_replace_all(cmd, "%f", from); g_free(temp); temp = cmd; cmd = c2_str_replace_all(cmd, "%t", to); g_free(temp); g_free(to); g_free(from); /* FINALLY execute the command :-) */ if(system(cmd) < 0) { c2_smtp_set_error(smtp, _("Problem running local SMTP command to send messages -- Check SMTP settings")); unlink(file_name); g_free(file_name); g_free(cmd); smtp->uses--; if(!smtp->uses) c2_mutex_unlock(&smtp->in_use); gtk_signal_emit(GTK_OBJECT(smtp), signals[FINISHED], id, -1); return -1; } gtk_signal_emit(GTK_OBJECT(smtp), signals[SMTP_UPDATE], id, 1, 1); g_free(file_name); g_free(cmd); unlink(file_name); } gtk_object_unref (GTK_OBJECT (message)); smtp->uses--; if(!smtp->uses) c2_mutex_unlock(&smtp->in_use); gtk_signal_emit(GTK_OBJECT(smtp), signals[FINISHED], id, 1); return 0; }
/** * stpui_help_free: * * This function frees the memory used by the #GtkTooltips created by * stpui_help_init(). **/ void stpui_help_free (void) { gtk_object_destroy (GTK_OBJECT (tool_tips)); gtk_object_unref (GTK_OBJECT (tool_tips)); }