RSS/Atom feed Twitter
Site is read-only, email is disabled

GFlare fixes [patch]

This discussion is connected to the gimp-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.

This is a read-only list on gimpusers.com so this discussion thread is read-only, too.

2 of 2 messages available
Toggle history

Please log in to manage your subscriptions.

GFlare fixes [patch] David Necas (Yeti) 05 Nov 19:09
  GFlare fixes [patch] Sven Neumann 05 Nov 19:40
David Necas (Yeti)
2002-11-05 19:09:47 UTC (over 21 years ago)

GFlare fixes [patch]

Hello,

I've fixed a few things (mostly porting problesm) in GFlare.

1. Though it included code to cope with spaces in gradient names, it was misused and the standard presets contained old gradient names with underscores.

--- gflare.orig/gflare.c 2002-09-06 22:44:43.000000000 +0200 +++ gflare/gflare.c 2002-11-05 18:50:16.000000000 +0100 @@ -1524,7 +1524,7 @@
{
/* @GRADIENT_NAME */
gradient_name_decode ((guchar*) dec, (guchar*) tmp); - gradient_name_copy (name, tmp); + gradient_name_copy (name, dec); DEBUG_PRINT (("read_gradient_name: \"%s\" => \"%s\"\n", tmp, dec)); }
else
--- gflare.orig/gflares/Hidden_Planet 1999-09-07 00:40:32.000000000 +0200 +++ gflare/gflares/Hidden_Planet 2002-11-05 18:02:48.000000000 +0100 @@ -2,11 +2,11 @@
100.000000 NORMAL
100.000000 NORMAL
100.000000 NORMAL
-Flare_Glow_Radial_2
-Flare_Glow_Angular_1
+Flare\040Glow\040Radial\0402
+Flare\040Glow\040Angular\0401
%white
100.000000 0.000000 0.000000
-Flare_Rays_Radial_2
+Flare\040Rays\040Radial\0402
%white
%white
50.000000 90.000000 0.000000
--- gflare.orig/gflares/Default 1999-09-07 00:40:32.000000000 +0200 +++ gflare/gflares/Default 2002-11-05 18:02:45.000000000 +0100 @@ -2,7 +2,7 @@
95.300003 NORMAL
23.000000 ADDITION
20.900000 SCREEN
-Radial_Glow_1
+Radial\040Glow\0401
%white
%white
100.000000 0.000000 -145.899994
@@ -11,8 +11,8 @@
%random
70.400002 0.000000 0.000000
21 87.300003
-Flare_Radial_103
-Flare_Sizefac_101
+Flare\040Radial\040103
+Flare\040Sizefac\040101
%random
40.000000 0 0
CIRCLE 6 1
--- gflare.orig/gflares/Distant_Sun 1999-09-07 00:40:32.000000000 +0200 +++ gflare/gflares/Distant_Sun 2002-11-05 18:02:45.000000000 +0100 @@ -2,17 +2,17 @@
100.000000 NORMAL
90.000000 ADDITION
50.000000 SCREEN
-Flare_Radial_102
+Flare\040Radial\040102
%white
%white
136.000000 0.000000 55.000000
%yellow_grad
-Flare_Glow_Angular_1
+Flare\040Glow\040Angular\0401
%random
110.000000 140.000000 -12.000000
63 90.000000
-Flare_Glow_Radial_4
-Flare_Rays_Size_1
+Flare\040Glow\040Radial\0404
+Flare\040Rays\040Size\0401
%yellow_grad
30.000000 30.000000 40.000000
POLYGON 6 1
--- gflare.orig/gflares/GFlare_101 1999-09-07 00:40:32.000000000 +0200 +++ gflare/gflares/GFlare_101 2002-11-05 18:02:45.000000000 +0100 @@ -2,7 +2,7 @@
100.000000 NORMAL
50.000000 NORMAL
35.500000 NORMAL
-Flare_Radial_101
+Flare\040Radial\040101
%white
%white
100.000000 0.000000 0.000000
@@ -11,7 +11,7 @@
%random
100.000000 0.000000 0.000000
40 50.000000
-Flare_Glow_Radial_1
+Flare\040Glow\040Radial\0401
%random
%random
40.000000 0 0
--- gflare.orig/gflares/Classic 1999-09-07 00:40:32.000000000 +0200 +++ gflare/gflares/Classic 2002-11-05 18:02:45.000000000 +0100 @@ -2,7 +2,7 @@
100.000000 NORMAL
40.000000 SCREEN
20.000000 SCREEN
-Flare_Glow_Radial_3
+Flare\040Glow\040Radial\0403
%white
%white
85.000000 0.000000 0.000000
@@ -11,7 +11,7 @@
%random
125.000000 0.000000 0.000000
85 60.000000
-Flare_Glow_Radial_4
+Flare\040Glow\040Radial\0404
%random
%random
20.000000 0.000000 0.000000
--- gflare.orig/gflares/GFlare_102 1999-09-07 00:40:32.000000000 +0200 +++ gflare/gflares/GFlare_102 2002-11-05 18:02:45.000000000 +0100 @@ -2,7 +2,7 @@
100.000000 NORMAL
62.799999 NORMAL
37.900002 SCREEN
-Flare_Radial_102
+Flare\040Radial\040102
%white
%white
100.000000 0.000000 -85.300003
@@ -11,7 +11,7 @@
%random
100.000000 0.000000 -155.899994
40 20.000000
-Flare_Radial_102
+Flare\040Radial\040102
%random
Skyline
40.000000 0 0
--- gflare.orig/gflares/Bright_Star 1999-09-07 00:40:32.000000000 +0200 +++ gflare/gflares/Bright_Star 2002-11-05 18:02:45.000000000 +0100 @@ -2,13 +2,13 @@
100.000000 NORMAL
100.000000 NORMAL
75.000000 SCREEN
-Flare_Glow_Radial_1
+Flare\040Glow\040Radial\0401
%white
%white
75.000000 0.000000 0.000000
-Flare_Rays_Radial_1
+Flare\040Rays\040Radial\0401
%white
-Flare_Rays_Size_1
+Flare\040Rays\040Size\0401
100.000000 -75.000000 0.000000
16 20.000000
%blue_grad

2. It tried to save gradients under queer names.

--- gflare.orig/gflare.c 2002-09-06 22:44:43.000000000 +0200 +++ gflare/gflare.c 2002-11-05 18:50:16.000000000 +0100 @@ -1614,7 +1614,7 @@
if (!path)
path = g_strdup (gimp_directory ());
- gflare->filename = g_build_filename ("%s%s", path, gflare->name, NULL); + gflare->filename = g_build_filename (path, gflare->name, NULL);
g_free (path);
}

3. Circle/polygon radio button didn't work. This is a general Gtk2 porting issue. ANY plugin using gtk_object_set_user_data() is probably broken.

--- gflare.orig/gflare.c 2002-09-06 22:44:43.000000000 +0200 +++ gflare/gflare.c 2002-11-05 18:50:16.000000000 +0100 @@ -4122,7 +4122,9 @@

toggle = gtk_radio_button_new_with_label (shape_group, _("Circle")); shape_group = gtk_radio_button_group (GTK_RADIO_BUTTON (toggle)); - gtk_object_set_user_data (GTK_OBJECT (toggle), (gpointer) GF_CIRCLE); + //gtk_object_set_user_data (GTK_OBJECT (toggle), (gpointer) GF_CIRCLE); + g_object_set_data (G_OBJECT (toggle), "gimp-item-data", + GINT_TO_POINTER (GF_CIRCLE)); gtk_signal_connect (GTK_OBJECT (toggle), "toggled", GTK_SIGNAL_FUNC (ed_shape_radio_callback), &gflare->sflare_shape);
@@ -4138,7 +4140,8 @@
toggle = ed->polygon_toggle =
gtk_radio_button_new_with_label (shape_group, _("Polygon")); shape_group = gtk_radio_button_group (GTK_RADIO_BUTTON (toggle)); - gtk_object_set_user_data (GTK_OBJECT (toggle), (gpointer) GF_POLYGON); + g_object_set_data (G_OBJECT (toggle), "gimp-item-data", + GINT_TO_POINTER (GF_POLYGON)); gtk_signal_connect (GTK_OBJECT (toggle), "toggled", GTK_SIGNAL_FUNC (ed_shape_radio_callback), &gflare->sflare_shape);

4. It set polygon entry width to 8 pixels using some deprecated function. It's maybe a little too wide w/o it, but that's much better than unusably thin.

--- gflare.orig/gflare.c 2002-09-06 22:44:43.000000000 +0200 +++ gflare/gflare.c 2002-11-05 18:50:16.000000000 +0100 @@ -4148,7 +4151,7 @@
gtk_widget_show (toggle);

entry = ed->polygon_entry = gtk_entry_new (); - gtk_widget_set_usize (entry, ENTRY_WIDTH, 0); +// gtk_widget_set_usize (entry, ENTRY_WIDTH, 0); g_snprintf (buf, sizeof (buf), "%d", gflare->sflare_nverts); gtk_entry_set_text (GTK_ENTRY (entry), buf); gtk_signal_connect (GTK_OBJECT (entry), "changed",

Regards,

Yeti

Sven Neumann
2002-11-05 19:40:37 UTC (over 21 years ago)

GFlare fixes [patch]

Hi,

David Necas (Yeti) writes:

I've fixed a few things (mostly porting problesm) in GFlare.

could you please file a bug-report at bugs.gimp.org and attach your patch to that report? (You need to first create the report before you can attach files.)

3. Circle/polygon radio button didn't work. This is a general Gtk2 porting issue. ANY plugin using gtk_object_set_user_data() is probably broken.

why would that be? Of course we discourage the use of gtk_object_set_user_data() since it's deprecated but it still works nevertheless. You are however right that it doesn't work here since we changed the functions in libgimpwidgets that used to use the data attached with gtk_object_set_user_data().

+ //gtk_object_set_user_data (GTK_OBJECT (toggle), (gpointer) GF_CIRCLE);

^^
this is forbidden in GIMP code since it's not portable. Please use C-style comments.

4. It set polygon entry width to 8 pixels using some deprecated function. It's maybe a little too wide w/o it, but that's much better than unusably thin.

--- gflare.orig/gflare.c 2002-09-06 22:44:43.000000000 +0200 +++ gflare/gflare.c 2002-11-05 18:50:16.000000000 +0100 @@ -4148,7 +4151,7 @@
gtk_widget_show (toggle);

entry = ed->polygon_entry = gtk_entry_new (); - gtk_widget_set_usize (entry, ENTRY_WIDTH, 0); +// gtk_widget_set_usize (entry, ENTRY_WIDTH, 0); g_snprintf (buf, sizeof (buf), "%d", gflare->sflare_nverts); gtk_entry_set_text (GTK_ENTRY (entry), buf); gtk_signal_connect (GTK_OBJECT (entry), "changed",

again, the C++ style comment is not acceptable here. Either remove the line or set the entry to a reasonable number of chars using gtk_entry_set_width_chars().

Salut, Sven