mirror of https://github.com/GNOME/gimp.git
libgimp: move _gimp_read_expect_msg() back to gimp.c
and make it distinguish between old and new plug-in running.
This commit is contained in:
parent
856fe16070
commit
366047f423
|
@ -36,6 +36,7 @@ void _gimp_config (GPConfig *config);
|
|||
void _gimp_loop (GimpRunProc run_proc);
|
||||
void _gimp_read_expect_msg (GimpWireMessage *msg,
|
||||
gint type);
|
||||
void _gimp_process_message (GimpWireMessage *msg);
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
|
|
|
@ -801,6 +801,38 @@ gimp_quit (void)
|
|||
exit (EXIT_SUCCESS);
|
||||
}
|
||||
|
||||
void
|
||||
_gimp_read_expect_msg (GimpWireMessage *msg,
|
||||
gint type)
|
||||
{
|
||||
while (TRUE)
|
||||
{
|
||||
if (! gimp_wire_read_msg (_gimp_readchannel, msg, NULL))
|
||||
gimp_quit ();
|
||||
|
||||
if (msg->type == type)
|
||||
return; /* up to the caller to call wire_destroy() */
|
||||
|
||||
if (msg->type == GP_TEMP_PROC_RUN || msg->type == GP_QUIT)
|
||||
{
|
||||
if (PLUG_IN)
|
||||
{
|
||||
_gimp_plug_in_process_message (PLUG_IN, msg);
|
||||
}
|
||||
else
|
||||
{
|
||||
_gimp_process_message (msg);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
g_error ("unexpected message: %d", msg->type);
|
||||
}
|
||||
|
||||
gimp_wire_destroy (msg);
|
||||
}
|
||||
}
|
||||
|
||||
GimpValueArray *
|
||||
gimp_run_procedure_with_array (const gchar *name,
|
||||
GimpValueArray *arguments)
|
||||
|
|
|
@ -48,7 +48,6 @@
|
|||
static gpointer gimp_param_copy (gpointer boxed);
|
||||
static void gimp_param_free (gpointer boxed);
|
||||
|
||||
static void gimp_process_message (GimpWireMessage *msg);
|
||||
static void gimp_single_message (void);
|
||||
static gboolean gimp_extension_read (GIOChannel *channel,
|
||||
GIOCondition condition,
|
||||
|
@ -589,31 +588,6 @@ gimp_extension_process (guint timeout)
|
|||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
_gimp_read_expect_msg (GimpWireMessage *msg,
|
||||
gint type)
|
||||
{
|
||||
while (TRUE)
|
||||
{
|
||||
if (! gimp_wire_read_msg (_gimp_readchannel, msg, NULL))
|
||||
gimp_quit ();
|
||||
|
||||
if (msg->type == type)
|
||||
return; /* up to the caller to call wire_destroy() */
|
||||
|
||||
if (msg->type == GP_TEMP_PROC_RUN || msg->type == GP_QUIT)
|
||||
{
|
||||
gimp_process_message (msg);
|
||||
}
|
||||
else
|
||||
{
|
||||
g_error ("unexpected message: %d", msg->type);
|
||||
}
|
||||
|
||||
gimp_wire_destroy (msg);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* gimp_run_procedure: (skip)
|
||||
* @name: the name of the procedure to run
|
||||
|
@ -1261,8 +1235,8 @@ gimp_plugin_icon_register (const gchar *procedure_name,
|
|||
|
||||
/* private functions */
|
||||
|
||||
static void
|
||||
gimp_process_message (GimpWireMessage *msg)
|
||||
void
|
||||
_gimp_process_message (GimpWireMessage *msg)
|
||||
{
|
||||
switch (msg->type)
|
||||
{
|
||||
|
@ -1307,7 +1281,7 @@ gimp_single_message (void)
|
|||
if (! gimp_wire_read_msg (_gimp_readchannel, &msg, NULL))
|
||||
gimp_quit ();
|
||||
|
||||
gimp_process_message (&msg);
|
||||
_gimp_process_message (&msg);
|
||||
|
||||
gimp_wire_destroy (&msg);
|
||||
}
|
||||
|
|
|
@ -36,8 +36,6 @@
|
|||
static void gimp_plug_in_register (GimpPlugIn *plug_in,
|
||||
gboolean init);
|
||||
static void gimp_plug_in_loop (GimpPlugIn *plug_in);
|
||||
static void gimp_plug_in_process_message (GimpPlugIn *plug_in,
|
||||
GimpWireMessage *msg);
|
||||
static void gimp_plug_in_proc_run (GimpPlugIn *plug_in,
|
||||
GPProcRun *proc_run);
|
||||
static void gimp_plug_in_temp_proc_run (GimpPlugIn *plug_in,
|
||||
|
@ -233,14 +231,14 @@ _gimp_plug_in_single_message (GimpPlugIn *plug_in)
|
|||
if (! gimp_wire_read_msg (_gimp_readchannel, &msg, NULL))
|
||||
gimp_quit ();
|
||||
|
||||
gimp_plug_in_process_message (plug_in, &msg);
|
||||
_gimp_plug_in_process_message (plug_in, &msg);
|
||||
|
||||
gimp_wire_destroy (&msg);
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_plug_in_process_message (GimpPlugIn *plug_in,
|
||||
GimpWireMessage *msg)
|
||||
void
|
||||
_gimp_plug_in_process_message (GimpPlugIn *plug_in,
|
||||
GimpWireMessage *msg)
|
||||
{
|
||||
switch (msg->type)
|
||||
{
|
||||
|
|
|
@ -49,15 +49,17 @@ struct _GimpPlugInPrivate
|
|||
};
|
||||
|
||||
|
||||
void _gimp_plug_in_query (GimpPlugIn *plug_in);
|
||||
void _gimp_plug_in_init (GimpPlugIn *plug_in);
|
||||
void _gimp_plug_in_run (GimpPlugIn *plug_in);
|
||||
void _gimp_plug_in_quit (GimpPlugIn *plug_in);
|
||||
void _gimp_plug_in_query (GimpPlugIn *plug_in);
|
||||
void _gimp_plug_in_init (GimpPlugIn *plug_in);
|
||||
void _gimp_plug_in_run (GimpPlugIn *plug_in);
|
||||
void _gimp_plug_in_quit (GimpPlugIn *plug_in);
|
||||
|
||||
gboolean _gimp_plug_in_extension_read (GIOChannel *channel,
|
||||
GIOCondition condition,
|
||||
gpointer data);
|
||||
void _gimp_plug_in_single_message (GimpPlugIn *plug_in);
|
||||
gboolean _gimp_plug_in_extension_read (GIOChannel *channel,
|
||||
GIOCondition condition,
|
||||
gpointer data);
|
||||
void _gimp_plug_in_single_message (GimpPlugIn *plug_in);
|
||||
void _gimp_plug_in_process_message (GimpPlugIn *plug_in,
|
||||
GimpWireMessage *msg);
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
|
|
Loading…
Reference in New Issue