mirror of https://github.com/GNOME/gimp.git
moved FINITE definition to $extra code. Changed to use #elif, much
2002-11-24 Manish Singh <yosh@gimp.org> * tools/pdbgen/pdb/image.pdb: moved FINITE definition to $extra code. Changed to use #elif, much cleaner. * app/pdb/image_cmds.c: regenerated * app/core/gimpenvirontable.[ch]: added support for app internal environment variable settings. These override any *.env files if there are collisions. Not sure on that policy. Also, envp is now generated on the first get_envp call. * app/gui/gui.[ch]: added gui_environ_init, which uses gimp_environ_table_add. Moved the setting of DISPLAY to here. Added setting of GDK_DISPLAY instead for the fb backends. Hm, perhaps GDK should do this itself... * app_procs.c: call gui_environ_init. * libgimpwidgets/gimpcolorscale.c * libgimpwidgets/gimpcolorscales.c: #include <string.h> for strlen and memcpy. -Yosh
This commit is contained in:
parent
086cf5784a
commit
2b16283b32
23
ChangeLog
23
ChangeLog
|
@ -1,3 +1,26 @@
|
|||
2002-11-24 Manish Singh <yosh@gimp.org>
|
||||
|
||||
* tools/pdbgen/pdb/image.pdb: moved FINITE definition to $extra
|
||||
code. Changed to use #elif, much cleaner.
|
||||
|
||||
* app/pdb/image_cmds.c: regenerated
|
||||
|
||||
* app/core/gimpenvirontable.[ch]: added support for app internal
|
||||
environment variable settings. These override any *.env files if
|
||||
there are collisions. Not sure on that policy. Also, envp is now
|
||||
generated on the first get_envp call.
|
||||
|
||||
* app/gui/gui.[ch]: added gui_environ_init, which uses
|
||||
gimp_environ_table_add. Moved the setting of DISPLAY to here.
|
||||
Added setting of GDK_DISPLAY instead for the fb backends. Hm,
|
||||
perhaps GDK should do this itself...
|
||||
|
||||
* app_procs.c: call gui_environ_init.
|
||||
|
||||
* libgimpwidgets/gimpcolorscale.c
|
||||
* libgimpwidgets/gimpcolorscales.c: #include <string.h> for
|
||||
strlen and memcpy.
|
||||
|
||||
2002-11-24 Dave Neary <bolsh@gimp.org>
|
||||
|
||||
* libgimpwidgets/gimpwidgets.c
|
||||
|
|
|
@ -155,6 +155,7 @@ app_init (gint gimp_argc,
|
|||
|
||||
if (! no_interface)
|
||||
{
|
||||
gui_environ_init (the_gimp);
|
||||
tool_manager_init (the_gimp);
|
||||
}
|
||||
|
||||
|
|
|
@ -38,17 +38,20 @@
|
|||
extern char **environ;
|
||||
|
||||
|
||||
static void gimp_environ_table_class_init (GimpEnvironTableClass *class);
|
||||
static void gimp_environ_table_init (GimpEnvironTable *environ_table);
|
||||
static void gimp_environ_table_class_init (GimpEnvironTableClass *class);
|
||||
static void gimp_environ_table_init (GimpEnvironTable *environ_table);
|
||||
|
||||
static void gimp_environ_table_finalize (GObject *object);
|
||||
static void gimp_environ_table_finalize (GObject *object);
|
||||
|
||||
static void gimp_environ_table_load_env_file (GimpDatafileData *file_data);
|
||||
static void gimp_environ_table_load_env_file (GimpDatafileData *file_data);
|
||||
|
||||
static void gimp_environ_table_populate (GimpEnvironTable *environ_table);
|
||||
static void gimp_environ_table_populate_one (const gchar *name,
|
||||
const gchar *value,
|
||||
GPtrArray *env_array);
|
||||
static void gimp_environ_table_populate (GimpEnvironTable *environ_table);
|
||||
static void gimp_environ_table_populate_one (const gchar *name,
|
||||
const gchar *value,
|
||||
GPtrArray *env_array);
|
||||
static void gimp_environ_table_clear_vars (GimpEnvironTable *environ_table);
|
||||
static void gimp_environ_table_clear_internal (GimpEnvironTable *environ_table);
|
||||
static void gimp_environ_table_clear_envp (GimpEnvironTable *environ_table);
|
||||
|
||||
|
||||
static GObjectClass *parent_class = NULL;
|
||||
|
@ -95,20 +98,22 @@ gimp_environ_table_class_init (GimpEnvironTableClass *class)
|
|||
}
|
||||
|
||||
static void
|
||||
gimp_environ_table_init (GimpEnvironTable *env)
|
||||
gimp_environ_table_init (GimpEnvironTable *environ_table)
|
||||
{
|
||||
env->vars = NULL;
|
||||
env->envp = NULL;
|
||||
environ_table->vars = NULL;
|
||||
environ_table->internal = NULL;
|
||||
|
||||
environ_table->envp = NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_environ_table_finalize (GObject *object)
|
||||
{
|
||||
GimpEnvironTable *env;
|
||||
GimpEnvironTable *environ_table;
|
||||
|
||||
env = GIMP_ENVIRON_TABLE (object);
|
||||
environ_table = GIMP_ENVIRON_TABLE (object);
|
||||
|
||||
gimp_environ_table_clear (env);
|
||||
gimp_environ_table_clear_all (environ_table);
|
||||
|
||||
G_OBJECT_CLASS (parent_class)->finalize (object);
|
||||
}
|
||||
|
@ -134,8 +139,41 @@ gimp_environ_table_load (GimpEnvironTable *environ_table,
|
|||
G_FILE_TEST_EXISTS,
|
||||
gimp_environ_table_load_env_file,
|
||||
environ_table);
|
||||
}
|
||||
|
||||
gimp_environ_table_populate (environ_table);
|
||||
void
|
||||
gimp_environ_table_add (GimpEnvironTable *environ_table,
|
||||
const gchar *name,
|
||||
const gchar *value)
|
||||
{
|
||||
g_return_if_fail (GIMP_IS_ENVIRON_TABLE (environ_table));
|
||||
|
||||
gimp_environ_table_clear_envp (environ_table);
|
||||
|
||||
if (! environ_table->internal)
|
||||
environ_table->internal = g_hash_table_new_full (g_str_hash, g_str_equal,
|
||||
g_free, g_free);
|
||||
|
||||
g_hash_table_insert (environ_table->internal,
|
||||
g_strdup (name),
|
||||
g_strdup (value));
|
||||
}
|
||||
|
||||
void
|
||||
gimp_environ_table_remove (GimpEnvironTable *environ_table,
|
||||
const gchar *name)
|
||||
{
|
||||
g_return_if_fail (GIMP_IS_ENVIRON_TABLE (environ_table));
|
||||
|
||||
if (! environ_table->internal)
|
||||
return;
|
||||
|
||||
gimp_environ_table_clear_envp (environ_table);
|
||||
|
||||
g_hash_table_remove (environ_table->internal, name);
|
||||
|
||||
if (g_hash_table_size (environ_table->internal) == 0)
|
||||
gimp_environ_table_clear_internal (environ_table);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -143,17 +181,20 @@ gimp_environ_table_clear (GimpEnvironTable *environ_table)
|
|||
{
|
||||
g_return_if_fail (GIMP_IS_ENVIRON_TABLE (environ_table));
|
||||
|
||||
if (environ_table->vars)
|
||||
{
|
||||
g_hash_table_destroy (environ_table->vars);
|
||||
environ_table->vars = NULL;
|
||||
}
|
||||
gimp_environ_table_clear_envp (environ_table);
|
||||
|
||||
if (environ_table->envp)
|
||||
{
|
||||
g_strfreev (environ_table->envp);
|
||||
environ_table->envp = NULL;
|
||||
}
|
||||
gimp_environ_table_clear_vars (environ_table);
|
||||
}
|
||||
|
||||
void
|
||||
gimp_environ_table_clear_all (GimpEnvironTable *environ_table)
|
||||
{
|
||||
g_return_if_fail (GIMP_IS_ENVIRON_TABLE (environ_table));
|
||||
|
||||
gimp_environ_table_clear_envp (environ_table);
|
||||
|
||||
gimp_environ_table_clear_vars (environ_table);
|
||||
gimp_environ_table_clear_internal (environ_table);
|
||||
}
|
||||
|
||||
gchar **
|
||||
|
@ -166,10 +207,7 @@ gimp_environ_table_get_envp (GimpEnvironTable *environ_table)
|
|||
*/
|
||||
|
||||
if (! environ_table->envp)
|
||||
{
|
||||
environ_table->envp = g_new (gchar *, 1);
|
||||
*(environ_table->envp) = NULL;
|
||||
}
|
||||
gimp_environ_table_populate (environ_table);
|
||||
|
||||
return environ_table->envp;
|
||||
}
|
||||
|
@ -251,9 +289,15 @@ gimp_environ_table_populate (GimpEnvironTable *environ_table)
|
|||
var++;
|
||||
}
|
||||
|
||||
g_hash_table_foreach (environ_table->vars,
|
||||
(GHFunc) gimp_environ_table_populate_one,
|
||||
env_array);
|
||||
if (environ_table->vars)
|
||||
g_hash_table_foreach (environ_table->vars,
|
||||
(GHFunc) gimp_environ_table_populate_one,
|
||||
env_array);
|
||||
|
||||
if (environ_table->internal)
|
||||
g_hash_table_foreach (environ_table->internal,
|
||||
(GHFunc) gimp_environ_table_populate_one,
|
||||
env_array);
|
||||
|
||||
g_ptr_array_add (env_array, NULL);
|
||||
|
||||
|
@ -281,3 +325,33 @@ gimp_environ_table_populate_one (const gchar *name,
|
|||
var = g_strconcat (name, "=", value, NULL);
|
||||
g_ptr_array_add (env_array, var);
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_environ_table_clear_vars (GimpEnvironTable *environ_table)
|
||||
{
|
||||
if (environ_table->vars)
|
||||
{
|
||||
g_hash_table_destroy (environ_table->vars);
|
||||
environ_table->vars = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_environ_table_clear_internal (GimpEnvironTable *environ_table)
|
||||
{
|
||||
if (environ_table->internal)
|
||||
{
|
||||
g_hash_table_destroy (environ_table->internal);
|
||||
environ_table->internal = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_environ_table_clear_envp (GimpEnvironTable *environ_table)
|
||||
{
|
||||
if (environ_table->envp)
|
||||
{
|
||||
g_strfreev (environ_table->envp);
|
||||
environ_table->envp = NULL;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,6 +38,7 @@ struct _GimpEnvironTable
|
|||
GObject parent_instance;
|
||||
|
||||
GHashTable *vars;
|
||||
GHashTable *internal;
|
||||
|
||||
gchar **envp;
|
||||
};
|
||||
|
@ -48,14 +49,22 @@ struct _GimpEnvironTableClass
|
|||
};
|
||||
|
||||
|
||||
GType gimp_environ_table_get_type (void) G_GNUC_CONST;
|
||||
GimpEnvironTable * gimp_environ_table_new (void);
|
||||
GType gimp_environ_table_get_type (void) G_GNUC_CONST;
|
||||
GimpEnvironTable * gimp_environ_table_new (void);
|
||||
|
||||
void gimp_environ_table_load (GimpEnvironTable *environ_table,
|
||||
const gchar *env_path);
|
||||
void gimp_environ_table_clear (GimpEnvironTable *environ_table);
|
||||
void gimp_environ_table_load (GimpEnvironTable *environ_table,
|
||||
const gchar *env_path);
|
||||
|
||||
gchar ** gimp_environ_table_get_envp (GimpEnvironTable *environ_table);
|
||||
void gimp_environ_table_add (GimpEnvironTable *environ_table,
|
||||
const gchar *name,
|
||||
const gchar *value);
|
||||
void gimp_environ_table_remove (GimpEnvironTable *environ_table,
|
||||
const gchar *name);
|
||||
|
||||
void gimp_environ_table_clear (GimpEnvironTable *environ_table);
|
||||
void gimp_environ_table_clear_all (GimpEnvironTable *environ_table);
|
||||
|
||||
gchar ** gimp_environ_table_get_envp (GimpEnvironTable *environ_table);
|
||||
|
||||
|
||||
#endif /* __GIMP_ENVIRON_TABLE_H__ */
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
#include "core/gimp.h"
|
||||
#include "core/gimpcontainer.h"
|
||||
#include "core/gimpcontext.h"
|
||||
#include "core/gimpenvirontable.h"
|
||||
#include "core/gimpimage.h"
|
||||
|
||||
#include "display/gimpdisplay.h"
|
||||
|
@ -102,25 +103,33 @@ void
|
|||
gui_libs_init (gint *argc,
|
||||
gchar ***argv)
|
||||
{
|
||||
#ifdef HAVE_PUTENV
|
||||
gchar *display_env;
|
||||
#endif
|
||||
|
||||
g_return_if_fail (argc != NULL);
|
||||
g_return_if_fail (argv != NULL);
|
||||
|
||||
gtk_init (argc, argv);
|
||||
|
||||
#ifdef HAVE_PUTENV
|
||||
display_env = g_strconcat ("DISPLAY=", gdk_get_display (), NULL);
|
||||
putenv (display_env);
|
||||
#endif
|
||||
|
||||
gimp_widgets_init ();
|
||||
|
||||
g_type_class_ref (GIMP_TYPE_COLOR_SELECT);
|
||||
}
|
||||
|
||||
void
|
||||
gui_environ_init (Gimp *gimp)
|
||||
{
|
||||
gchar *name = NULL;
|
||||
|
||||
#if defined (GDK_WINDOWING_X11)
|
||||
name = "DISPLAY";
|
||||
#elif defined (GDK_WINDOWING_DIRECTFB) || defined (GDK_WINDOWING_FB)
|
||||
name = "GDK_DISPLAY";
|
||||
#endif
|
||||
|
||||
/* TODO: Need to care about display migration with GTK+ 2.2 at some point */
|
||||
|
||||
if (name)
|
||||
gimp_environ_table_add (gimp->environ_table, name, gdk_get_display ());
|
||||
}
|
||||
|
||||
void
|
||||
gui_themes_init (Gimp *gimp)
|
||||
{
|
||||
|
|
|
@ -23,6 +23,8 @@
|
|||
void gui_libs_init (gint *argc,
|
||||
gchar ***argv);
|
||||
|
||||
void gui_environ_init (Gimp *gimp);
|
||||
|
||||
void gui_themes_init (Gimp *gimp);
|
||||
const gchar * gui_themes_get_theme_dir (Gimp *gimp);
|
||||
|
||||
|
|
|
@ -181,6 +181,18 @@ register_image_procs (Gimp *gimp)
|
|||
procedural_db_register (gimp, &image_get_channel_by_tattoo_proc);
|
||||
}
|
||||
|
||||
#if defined (HAVE_FINITE)
|
||||
#define FINITE(x) finite(x)
|
||||
#elif defined (HAVE_ISFINITE)
|
||||
#define FINITE(x) isfinite(x)
|
||||
#elif defined (G_OS_WIN32)
|
||||
#define FINITE(x) _finite(x)
|
||||
#elif defined (__EMX__)
|
||||
#define FINITE(x) isfinite(x)
|
||||
#else
|
||||
#error "no FINITE() implementation available?!"
|
||||
#endif
|
||||
|
||||
/* Yuup, this is somewhat unsmooth, to say the least */
|
||||
|
||||
static void
|
||||
|
@ -3756,24 +3768,6 @@ image_set_resolution_invoker (Gimp *gimp,
|
|||
|
||||
if (success)
|
||||
{
|
||||
#ifdef HAVE_FINITE
|
||||
#define FINITE(x) finite(x)
|
||||
#else
|
||||
#ifdef HAVE_ISFINITE
|
||||
#define FINITE(x) isfinite(x)
|
||||
#else
|
||||
#ifdef G_OS_WIN32
|
||||
#define FINITE(x) _finite(x)
|
||||
#else
|
||||
#ifdef __EMX__
|
||||
#define FINITE(x) isfinite(x)
|
||||
#else
|
||||
#error "no FINITE() implementation available?!"
|
||||
#endif /* __EMX__ */
|
||||
#endif /* G_OS_WIN32 */
|
||||
#endif /* HAVE_ISFINITE */
|
||||
#endif /* HAVE_FINITE */
|
||||
|
||||
if (!FINITE (xresolution) ||
|
||||
xresolution < GIMP_MIN_RESOLUTION || xresolution > GIMP_MAX_RESOLUTION ||
|
||||
!FINITE (yresolution) ||
|
||||
|
|
|
@ -38,17 +38,20 @@
|
|||
extern char **environ;
|
||||
|
||||
|
||||
static void gimp_environ_table_class_init (GimpEnvironTableClass *class);
|
||||
static void gimp_environ_table_init (GimpEnvironTable *environ_table);
|
||||
static void gimp_environ_table_class_init (GimpEnvironTableClass *class);
|
||||
static void gimp_environ_table_init (GimpEnvironTable *environ_table);
|
||||
|
||||
static void gimp_environ_table_finalize (GObject *object);
|
||||
static void gimp_environ_table_finalize (GObject *object);
|
||||
|
||||
static void gimp_environ_table_load_env_file (GimpDatafileData *file_data);
|
||||
static void gimp_environ_table_load_env_file (GimpDatafileData *file_data);
|
||||
|
||||
static void gimp_environ_table_populate (GimpEnvironTable *environ_table);
|
||||
static void gimp_environ_table_populate_one (const gchar *name,
|
||||
const gchar *value,
|
||||
GPtrArray *env_array);
|
||||
static void gimp_environ_table_populate (GimpEnvironTable *environ_table);
|
||||
static void gimp_environ_table_populate_one (const gchar *name,
|
||||
const gchar *value,
|
||||
GPtrArray *env_array);
|
||||
static void gimp_environ_table_clear_vars (GimpEnvironTable *environ_table);
|
||||
static void gimp_environ_table_clear_internal (GimpEnvironTable *environ_table);
|
||||
static void gimp_environ_table_clear_envp (GimpEnvironTable *environ_table);
|
||||
|
||||
|
||||
static GObjectClass *parent_class = NULL;
|
||||
|
@ -95,20 +98,22 @@ gimp_environ_table_class_init (GimpEnvironTableClass *class)
|
|||
}
|
||||
|
||||
static void
|
||||
gimp_environ_table_init (GimpEnvironTable *env)
|
||||
gimp_environ_table_init (GimpEnvironTable *environ_table)
|
||||
{
|
||||
env->vars = NULL;
|
||||
env->envp = NULL;
|
||||
environ_table->vars = NULL;
|
||||
environ_table->internal = NULL;
|
||||
|
||||
environ_table->envp = NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_environ_table_finalize (GObject *object)
|
||||
{
|
||||
GimpEnvironTable *env;
|
||||
GimpEnvironTable *environ_table;
|
||||
|
||||
env = GIMP_ENVIRON_TABLE (object);
|
||||
environ_table = GIMP_ENVIRON_TABLE (object);
|
||||
|
||||
gimp_environ_table_clear (env);
|
||||
gimp_environ_table_clear_all (environ_table);
|
||||
|
||||
G_OBJECT_CLASS (parent_class)->finalize (object);
|
||||
}
|
||||
|
@ -134,8 +139,41 @@ gimp_environ_table_load (GimpEnvironTable *environ_table,
|
|||
G_FILE_TEST_EXISTS,
|
||||
gimp_environ_table_load_env_file,
|
||||
environ_table);
|
||||
}
|
||||
|
||||
gimp_environ_table_populate (environ_table);
|
||||
void
|
||||
gimp_environ_table_add (GimpEnvironTable *environ_table,
|
||||
const gchar *name,
|
||||
const gchar *value)
|
||||
{
|
||||
g_return_if_fail (GIMP_IS_ENVIRON_TABLE (environ_table));
|
||||
|
||||
gimp_environ_table_clear_envp (environ_table);
|
||||
|
||||
if (! environ_table->internal)
|
||||
environ_table->internal = g_hash_table_new_full (g_str_hash, g_str_equal,
|
||||
g_free, g_free);
|
||||
|
||||
g_hash_table_insert (environ_table->internal,
|
||||
g_strdup (name),
|
||||
g_strdup (value));
|
||||
}
|
||||
|
||||
void
|
||||
gimp_environ_table_remove (GimpEnvironTable *environ_table,
|
||||
const gchar *name)
|
||||
{
|
||||
g_return_if_fail (GIMP_IS_ENVIRON_TABLE (environ_table));
|
||||
|
||||
if (! environ_table->internal)
|
||||
return;
|
||||
|
||||
gimp_environ_table_clear_envp (environ_table);
|
||||
|
||||
g_hash_table_remove (environ_table->internal, name);
|
||||
|
||||
if (g_hash_table_size (environ_table->internal) == 0)
|
||||
gimp_environ_table_clear_internal (environ_table);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -143,17 +181,20 @@ gimp_environ_table_clear (GimpEnvironTable *environ_table)
|
|||
{
|
||||
g_return_if_fail (GIMP_IS_ENVIRON_TABLE (environ_table));
|
||||
|
||||
if (environ_table->vars)
|
||||
{
|
||||
g_hash_table_destroy (environ_table->vars);
|
||||
environ_table->vars = NULL;
|
||||
}
|
||||
gimp_environ_table_clear_envp (environ_table);
|
||||
|
||||
if (environ_table->envp)
|
||||
{
|
||||
g_strfreev (environ_table->envp);
|
||||
environ_table->envp = NULL;
|
||||
}
|
||||
gimp_environ_table_clear_vars (environ_table);
|
||||
}
|
||||
|
||||
void
|
||||
gimp_environ_table_clear_all (GimpEnvironTable *environ_table)
|
||||
{
|
||||
g_return_if_fail (GIMP_IS_ENVIRON_TABLE (environ_table));
|
||||
|
||||
gimp_environ_table_clear_envp (environ_table);
|
||||
|
||||
gimp_environ_table_clear_vars (environ_table);
|
||||
gimp_environ_table_clear_internal (environ_table);
|
||||
}
|
||||
|
||||
gchar **
|
||||
|
@ -166,10 +207,7 @@ gimp_environ_table_get_envp (GimpEnvironTable *environ_table)
|
|||
*/
|
||||
|
||||
if (! environ_table->envp)
|
||||
{
|
||||
environ_table->envp = g_new (gchar *, 1);
|
||||
*(environ_table->envp) = NULL;
|
||||
}
|
||||
gimp_environ_table_populate (environ_table);
|
||||
|
||||
return environ_table->envp;
|
||||
}
|
||||
|
@ -251,9 +289,15 @@ gimp_environ_table_populate (GimpEnvironTable *environ_table)
|
|||
var++;
|
||||
}
|
||||
|
||||
g_hash_table_foreach (environ_table->vars,
|
||||
(GHFunc) gimp_environ_table_populate_one,
|
||||
env_array);
|
||||
if (environ_table->vars)
|
||||
g_hash_table_foreach (environ_table->vars,
|
||||
(GHFunc) gimp_environ_table_populate_one,
|
||||
env_array);
|
||||
|
||||
if (environ_table->internal)
|
||||
g_hash_table_foreach (environ_table->internal,
|
||||
(GHFunc) gimp_environ_table_populate_one,
|
||||
env_array);
|
||||
|
||||
g_ptr_array_add (env_array, NULL);
|
||||
|
||||
|
@ -281,3 +325,33 @@ gimp_environ_table_populate_one (const gchar *name,
|
|||
var = g_strconcat (name, "=", value, NULL);
|
||||
g_ptr_array_add (env_array, var);
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_environ_table_clear_vars (GimpEnvironTable *environ_table)
|
||||
{
|
||||
if (environ_table->vars)
|
||||
{
|
||||
g_hash_table_destroy (environ_table->vars);
|
||||
environ_table->vars = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_environ_table_clear_internal (GimpEnvironTable *environ_table)
|
||||
{
|
||||
if (environ_table->internal)
|
||||
{
|
||||
g_hash_table_destroy (environ_table->internal);
|
||||
environ_table->internal = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_environ_table_clear_envp (GimpEnvironTable *environ_table)
|
||||
{
|
||||
if (environ_table->envp)
|
||||
{
|
||||
g_strfreev (environ_table->envp);
|
||||
environ_table->envp = NULL;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,6 +38,7 @@ struct _GimpEnvironTable
|
|||
GObject parent_instance;
|
||||
|
||||
GHashTable *vars;
|
||||
GHashTable *internal;
|
||||
|
||||
gchar **envp;
|
||||
};
|
||||
|
@ -48,14 +49,22 @@ struct _GimpEnvironTableClass
|
|||
};
|
||||
|
||||
|
||||
GType gimp_environ_table_get_type (void) G_GNUC_CONST;
|
||||
GimpEnvironTable * gimp_environ_table_new (void);
|
||||
GType gimp_environ_table_get_type (void) G_GNUC_CONST;
|
||||
GimpEnvironTable * gimp_environ_table_new (void);
|
||||
|
||||
void gimp_environ_table_load (GimpEnvironTable *environ_table,
|
||||
const gchar *env_path);
|
||||
void gimp_environ_table_clear (GimpEnvironTable *environ_table);
|
||||
void gimp_environ_table_load (GimpEnvironTable *environ_table,
|
||||
const gchar *env_path);
|
||||
|
||||
gchar ** gimp_environ_table_get_envp (GimpEnvironTable *environ_table);
|
||||
void gimp_environ_table_add (GimpEnvironTable *environ_table,
|
||||
const gchar *name,
|
||||
const gchar *value);
|
||||
void gimp_environ_table_remove (GimpEnvironTable *environ_table,
|
||||
const gchar *name);
|
||||
|
||||
void gimp_environ_table_clear (GimpEnvironTable *environ_table);
|
||||
void gimp_environ_table_clear_all (GimpEnvironTable *environ_table);
|
||||
|
||||
gchar ** gimp_environ_table_get_envp (GimpEnvironTable *environ_table);
|
||||
|
||||
|
||||
#endif /* __GIMP_ENVIRON_TABLE_H__ */
|
||||
|
|
|
@ -23,6 +23,8 @@
|
|||
|
||||
#include "config.h"
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
#include "libgimpcolor/gimpcolor.h"
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
#include "config.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
#include <gdk/gdkkeysyms.h>
|
||||
|
|
|
@ -1293,24 +1293,6 @@ HELP
|
|||
|
||||
$invoke{code} = <<'CODE';
|
||||
{
|
||||
#ifdef HAVE_FINITE
|
||||
#define FINITE(x) finite(x)
|
||||
#else
|
||||
#ifdef HAVE_ISFINITE
|
||||
#define FINITE(x) isfinite(x)
|
||||
#else
|
||||
#ifdef G_OS_WIN32
|
||||
#define FINITE(x) _finite(x)
|
||||
#else
|
||||
#ifdef __EMX__
|
||||
#define FINITE(x) isfinite(x)
|
||||
#else
|
||||
#error "no FINITE() implementation available?!"
|
||||
#endif /* __EMX__ */
|
||||
#endif /* G_OS_WIN32 */
|
||||
#endif /* HAVE_ISFINITE */
|
||||
#endif /* HAVE_FINITE */
|
||||
|
||||
if (!FINITE (xresolution) ||
|
||||
xresolution < GIMP_MIN_RESOLUTION || xresolution > GIMP_MAX_RESOLUTION ||
|
||||
!FINITE (yresolution) ||
|
||||
|
@ -1558,6 +1540,18 @@ CODE
|
|||
"libgimp/gimpintl.h");
|
||||
|
||||
$extra{app}->{code} = <<'CODE';
|
||||
#if defined (HAVE_FINITE)
|
||||
#define FINITE(x) finite(x)
|
||||
#elif defined (HAVE_ISFINITE)
|
||||
#define FINITE(x) isfinite(x)
|
||||
#elif defined (G_OS_WIN32)
|
||||
#define FINITE(x) _finite(x)
|
||||
#elif defined (__EMX__)
|
||||
#define FINITE(x) isfinite(x)
|
||||
#else
|
||||
#error "no FINITE() implementation available?!"
|
||||
#endif
|
||||
|
||||
/* Yuup, this is somewhat unsmooth, to say the least */
|
||||
|
||||
static void
|
||||
|
|
Loading…
Reference in New Issue