/*! \brief Unix function that creates the mtx lockfile */ G_MODULE_EXPORT void unix_create_mtx_lock(void) { #ifndef __WIN32__ CmdLineArgs *args = NULL; GtkWidget *dialog = NULL; gint lock = 0; gint tmpfd = 0; gchar * lockfile = NULL; struct flock lock_struct; args = (CmdLineArgs *)DATA_GET(global_data,"args"); if (args->network_mode) return; lockfile = g_build_filename(g_get_tmp_dir(), ".MTXlock",NULL); tmpfd = g_open(lockfile,O_RDWR|O_CREAT|O_TRUNC,S_IRWXU); cleanup(lockfile); lock_struct.l_type=F_WRLCK; lock_struct.l_start=0; lock_struct.l_len=0; lock_struct.l_whence=SEEK_CUR; lock = fcntl(tmpfd,F_SETLK,&lock_struct); if (lock == -1) { /* if (tmpfd == -1) { printf ("ERROR!! PERMISSIONS issue while trying to create lockfile \"%s\"\n",lockfile); dialog = gtk_message_dialog_new(NULL,GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_CLOSE,"There is a PERMISSIONS problem\nMegaTunix can't create the lockfile:\n\"%s\"",lockfile); } else */ { printf (_("ERROR!! Multiple MegaTunix instances are not allowed UNLESS in network socket mode (see -n option)!\n")); dialog = gtk_message_dialog_new_with_markup(NULL,GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_CLOSE,_("<b>MegaTunix</b> is already Running!\nMultiple instances are <b><u>NOT</u></b> allowed unless running\nin network socket mode, see the -n option!\n")); } g_signal_connect(G_OBJECT(dialog),"response", G_CALLBACK(gtk_main_quit), dialog); g_signal_connect(G_OBJECT(dialog),"delete_event", G_CALLBACK(gtk_main_quit), dialog); g_signal_connect(G_OBJECT(dialog),"destroy_event", G_CALLBACK(gtk_main_quit), dialog); gtk_widget_show_all(dialog); gtk_main(); if (global_data) { g_dataset_destroy(global_data); cleanup(global_data); } exit(-1); } #endif }
static void my_gdk_pixmap_foreign_release (GdkPixmap *pixmap) { GdkWindowObject *priv = (GdkWindowObject *) pixmap; if (G_OBJECT (priv)->ref_count != 1){ g_warning ("This item is keeping a refcount to a foreign pixmap"); return; } #ifdef FIXME gdk_xid_table_remove (priv->xwindow); g_dataset_destroy (priv); g_free (priv); #endif }
void __new_req_populate_ca_treeview (GtkTreeView *treeview) { GtkCellRenderer * renderer = NULL; __NewReqWindowRefreshModelAddCaUserData pdata; guint column_number; new_req_ca_list_model = gtk_tree_store_new (NEW_REQ_CA_MODEL_COLUMN_NUMBER, G_TYPE_UINT64, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); pdata.new_model = new_req_ca_list_model; pdata.last_parent_iter = NULL; pdata.last_ca_iter = NULL; ca_file_foreach_ca (__new_req_window_refresh_model_add_ca, &pdata); if (pdata.last_parent_iter) gtk_tree_iter_free (pdata.last_parent_iter); if (pdata.last_ca_iter) gtk_tree_iter_free (pdata.last_ca_iter); g_dataset_destroy (new_req_ca_list_model); renderer = GTK_CELL_RENDERER (gtk_cell_renderer_text_new()); column_number = gtk_tree_view_insert_column_with_attributes (treeview, -1, _("Subject"), renderer, "markup", NEW_REQ_CA_MODEL_COLUMN_SUBJECT, NULL); gtk_tree_view_set_model (treeview, GTK_TREE_MODEL(new_req_ca_list_model)); gtk_tree_view_expand_all (treeview); return; }
static void skypeweb_fetch_url_request_cb(PurpleUtilFetchUrlData *url_data, gpointer user_data, const gchar *url_text, gsize len, const gchar *error_message) { PurpleUtilFetchUrlCallback callback; if (url_text == NULL) { if (purple_major_version == 2 && purple_minor_version >= 11) { struct _PurpleUtilFetchUrlDataTwoEleven *two_eleven_url_data = (struct _PurpleUtilFetchUrlDataTwoEleven *) url_data; url_text = two_eleven_url_data->webdata; len = two_eleven_url_data->data_len; } else { url_text = url_data->webdata; len = url_data->data_len; } } callback = g_dataset_get_data(url_data, "real_callback"); callback(url_data, user_data, url_text, len, error_message); g_dataset_destroy(url_data); }
/*! \brief creates the win32 mtx lockfile */ G_MODULE_EXPORT void win32_create_mtx_lock(void) { #ifdef __WIN32__ GtkWidget *dialog = NULL; gchar * file; file = g_build_filename(g_get_tmp_dir(), ".MTXlock",NULL); win32_global_lock = CreateFile(file,(GENERIC_READ | GENERIC_WRITE),0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL|FILE_FLAG_DELETE_ON_CLOSE,NULL); if (win32_global_lock == INVALID_HANDLE_VALUE) { dialog = gtk_message_dialog_new_with_markup(NULL,GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_CLOSE,"<b>MegaTunix</b> is already Running!\nMultiple instances are <b><u>NOT</u></b> allowed!\n"); g_signal_connect(G_OBJECT(dialog),"response", G_CALLBACK(gtk_main_quit), dialog); g_signal_connect(G_OBJECT(dialog),"delete_event", G_CALLBACK(gtk_main_quit), dialog); g_signal_connect(G_OBJECT(dialog),"destroy_event", G_CALLBACK(gtk_main_quit), dialog); gtk_widget_show_all(dialog); gtk_main(); if (global_data) g_dataset_destroy(global_data); exit(-1); } return; #endif }