mirror of https://github.com/GNOME/gimp.git
141b6e8a25
* applied gimp-lecorfec-99041[02]-0, changes follow * plug-ins/FractalExplorer/Dialogs.h (make_color_map): replaced free with g_free to fix segfault. * plug-ins/Lighting/lighting_preview.c (compute_preview): allocate xpostab and ypostab only when needed (it could also be allocated on stack with a compilation-fixed size like MapObject). It avoids to lose some Kb on each preview :) Also reindented (unfortunate C-c C-q) some other lines. * plug-ins/Lighting/lighting_main.c (run): release allocated postabs. * plug-ins/Lighting/lighting_ui.c: callbacks now have only one argument because gck widget use gtk_signal_connect_object. Caused segfault for scale widget. * plug-ins/autocrop/autocrop.c (doit): return if image has only background (thus fixing a segfault). * plug-ins/emboss/emboss.c (pluginCore, emboss_do_preview): replaced malloc/free with g_malloc/g_free (unneeded, but shouldn't everyone use glib calls ? :) * plug-ins/flame/flame.c : replaced a segfaulting free, and several harmless malloc/free pairs. * plug-ins/flame/megawidget.c (mw_preview_build): replaced harmless malloc/free pair. Note : mwp->bits is malloc'ed but seems to be never freed. * plug-ins/fractaltrace/fractaltrace.c (pixels_free): replaced a bunch of segfaulting free. (pixels_get, dialog_show): replaced gtk_signal_connect_object with gtk_signal_connect to accomodate callbacks (caused STRANGE dialog behaviour, coz you destroyed buttons one by one). * plug-ins/illusion/illusion.c (dialog): same gtk_signal_connect_object replacement for same reasons. * plug-ins/libgck/gck/gckcolor.c : changed all gck_rgb_to_color* functions to use a static GdkColor instead of a malloc'ed area. Provided reentrant functions with the old behaviour (gck_rgb_to_color*_r). Made some private functions static, too. gck_rgb_to_gdkcolor now use the new functions while gck_rgb_to_gdkcolor_r is the reentrant version. Also affected by this change: gck_gc_set_foreground and gck_gc_set_background (no more free(color)). * plug-ins/libgck/gck/gckcolor.h : added the gck_rgb_to_gdkcolor_r proto. * plug-ins/lic/lic.c (ok_button_clicked, cancel_button_clicked) : segfault on gtk_widget_destroy, now calls gtk_main_quit. (dialog_destroy) : segfault on window closure when called by "destroy" event. Now called by "delete_event". * plug-ins/megawidget/megawidget.c (mw_preview_build): replaced harmless malloc/free pair. Note : mwp->bits is malloc'ed but seems to be never freed. * plug-ins/png/png.c (load_image): replaced 2 segfaulting free. * plug-ins/print/print-ps.c (ps_print): replaced a segfaulting free (called many times :). * plug-ins/sgi/sgi.c (load_image, save_image): replaced a bunch of segfaulting free, and did some harmless inits to avoid a few gcc warnings. * plug-ins/wind/wind.c (render_wind): replaced a segfaulting free. (render_blast): replaced harmless malloc/free pair. * plug-ins/bmp/bmpread.c (ReadImage): yet another free()/g_free() problem fixed. * plug-ins/exchange/exchange.c (real_exchange): ditto. * plug-ins/fp/fp.h: added Frames_Check_Button_In_A_Box proto. * plug-ins/fp/fp_gtk.c: closing subdialogs via window manager wasn't handled, thus leading to errors and crashes. Now delete_event signals the dialog control button to close a dialog with the good way. * plug-ins/ifscompose/ifscompose.c (value_pair_create): tried to set events mask on scale widget (a NO_WINDOW widget). * plug-ins/png/png.c (save_image): Replaced 2 free() with g_free() for g_malloc'ed memory. Mysteriously I corrected the loading bug but not the saving one :) -Yosh |
||
---|---|---|
.. | ||
docs/html | ||
gck | ||
.cvsignore | ||
AUTHORS | ||
ChangeLog | ||
Makefile.am | ||
NEWS | ||
README | ||
TODO |
README
The General Convenience Kit (GCK) 1.0.0 ======================================= Copyright (C) 1996-98 Tom Bech (tomb@gimp.org) Copyright (C) 1996-98 Federico Mena Quintero (quartic@gimp.org) The General Drawing Kit (GDK), The General Toolkit (GTK) and The GIMP was developed and is (C) by Peter Mattis and Spencer Kimball. You can contact them at gimp@xcf.berkeley.edu, or visit the GIMP home page which is located at http://www.gimp.org There's additional GIMP stuff on my home page: http://www.ii.uib.no/~tomb/gimp.html Legal stuff =========== This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program (see the "COPYING" file); if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. In other words, you can't sue us for whatever happens while using this ;) Description =========== Short: This library is a collection of more or less useful stuff for GIMP plug-in writers and/or users of GDK/GTK. I must point out that this is not an attempt to enhance GDK|GTK in any way; there's nothing in it that can't be done using GDK|GTK alone. IMHO, improvements or new functionality should be integrated with GDK|GTK, not added on top. Here's a quick description of each file; ./gck/ gckcommon.c : Common variables and defines gckmath.c : Useful math routines not in math.h gckcolor.c : Conversion routines from raw RGB(A) to GdkImage (RGB to 32/24/16/8 bpp). Basic RGB operations (add,sub etc.), super- sampling routines, bilinear interpolation and other color-related functions (color-space conversions etc.) gckui.c : Convenience routines for creating various UI elements (dialogs, buttons, sliders, container-boxes etc.). Almost like the libgimp calls, but with more options and the possibility to mix it with other GDK|GTK things if you want gckcolor_select : Source for the GCK color select window gckvector.c : 2d and 3d vector operations (2d->3d, 3d->2d, add, sub, cross-product, rotate etc.) ./examples/misc/* : Various small examples of how to use the library ./examples/gimp/* : GIMP plug-in examples. ./examples/opengl/* : Examples of binding OpenGL and GDK/GTK. Hopefully this will grow with time. The goal is to provide GIMP plug-in writers and GDK/GTK users with a library to ease the writing of applications and UIs. Some things may become obsolete as the GIMP/GDK/GTK API evolves, and in the long run the whole library may be unnecessary. Until I get around to writing some kind of documentation you'll have to dig around in the sources on your own. Take a look at the examples and the plug-ins I've written using this library, and you'll soon get the hang of it. Feel free to modify and/or add new things to the library, but remember to send me a patch if you do :) Check out the TODO file for things missing and in the works. Have fun, Tom