Revision 673

src/main.c (revision 673)
97 97

  
98 98
static gint lock_socket = -1;
99 99
static gint lock_socket_tag = 0;
100
static GIOChannel *lock_ch = NULL;
100 101

  
101 102
static struct RemoteCmd {
102 103
	gboolean receive;
......
124 125
static gchar *get_socket_name		(void);
125 126
static gint prohibit_duplicate_launch	(void);
126 127
static gint lock_socket_remove		(void);
127
static void lock_socket_input_cb	(gpointer	   data,
128
					 gint		   source,
129
					 GdkInputCondition condition);
128
static gboolean lock_socket_input_cb	(GIOChannel	*source,
129
					 GIOCondition	 condition,
130
					 gpointer	 data);
130 131

  
131 132
static void remote_command_exec		(void);
132 133
static void migrate_old_config		(void);
......
228 229

  
229 230
#ifdef G_OS_UNIX
230 231
	/* register the callback of unix domain socket input */
231
	lock_socket_tag = gdk_input_add(lock_socket,
232
					GDK_INPUT_READ | GDK_INPUT_EXCEPTION,
233
					lock_socket_input_cb,
234
					mainwin);
232
	lock_ch = g_io_channel_unix_new(lock_socket);
233
	lock_socket_tag = g_io_add_watch(lock_ch,
234
					 G_IO_IN|G_IO_PRI|G_IO_ERR,
235
					 lock_socket_input_cb, mainwin);
235 236
#endif
236 237

  
237 238
	set_log_handlers(TRUE);
......
861 862
	if (lock_socket < 0) return -1;
862 863

  
863 864
	if (lock_socket_tag > 0)
864
		gdk_input_remove(lock_socket_tag);
865
	fd_close(lock_socket);
865
		g_source_remove(lock_socket_tag);
866
	if (lock_ch) {
867
		g_io_channel_shutdown(lock_ch, FALSE, NULL);
868
		g_io_channel_unref(lock_ch);
869
		lock_ch = NULL;
870
	}
866 871
	filename = get_socket_name();
867 872
	g_unlink(filename);
868 873
#endif
......
891 896
	return folders;
892 897
}
893 898

  
894
static void lock_socket_input_cb(gpointer data,
895
				 gint source,
896
				 GdkInputCondition condition)
899
static gboolean lock_socket_input_cb(GIOChannel *source, GIOCondition condition,
900
				     gpointer data)
897 901
{
898 902
	MainWindow *mainwin = (MainWindow *)data;
899
	gint sock;
903
	gint fd, sock;
900 904
	gchar buf[BUFFSIZE];
901 905

  
902
	sock = fd_accept(source);
906
	fd = g_io_channel_unix_get_fd(source);
907
	sock = fd_accept(fd);
903 908
	fd_gets(sock, buf, sizeof(buf));
904 909

  
905 910
	if (!strncmp(buf, "popup", 5)) {
......
944 949
	}
945 950

  
946 951
	fd_close(sock);
952

  
953
	return TRUE;
947 954
}
948 955

  
949 956
static void remote_command_exec(void)
ChangeLog.ja (revision 673)
1
2005-10-21
2

  
3
	* src/main.c: gdk_input_add() ?? GIOChannel ???֤?????????
4

  
1 5
2005-10-20
2 6

  
3 7
	* src/textview.c: textview_adj_value_changed(): ??????Ŭ????
ChangeLog (revision 673)
1
2005-10-21
2

  
3
	* src/main.c: replaced gdk_input_add() with GIOChannel.
4

  
1 5
2005-10-20
2 6

  
3 7
	* src/textview.c: textview_adj_value_changed(): optimized a bit.

Also available in: Unified diff