Commit Graph

45 Commits

Author SHA1 Message Date
Michael Natterer 6bb8c74a46 plug-ins: kill GtkAlignment in all plug-ins which are currently built 2018-10-22 14:47:54 +02:00
Michael Natterer 5f700549e7 Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
Jehan 870ca6334d plug-ins: install plug-ins in subfolder.
I am going to forbid plug-ins from being installed directly in the root
of the plug-ins/ directory. They will have to be installed in a
subdirectory named the same as the entry point binary.
This may seem useless for our core plug-ins which are nearly all
self-contained in single binaries, but this is actually a necessary
restriction to eliminate totally the DLL hell issue on Windows. Moving
core plug-ins in subfolders is only a necessary consequence for it.
2018-05-20 21:06:35 +02:00
Jehan 2d2dc450e8 plug-ins: clean out some tabs who lost their way. 2018-02-05 15:09:19 +01:00
Jehan 42eaf588fd plug-ins: ico export crashes on indexed images.
It seems the current code simply forgot to break on indexed types and
therefore hit some g_return_*if_reached() code breaking the logics.
Looking further, I see some code taking care of indexed images and
converting them to RGB. And testing after adding breaks looks like it
works just fine.
So I am assuming this was just forgotten breaks indeed, and not on
purpose not allowing indexed images (if that were the intent though,
this is not how it should be done).
2018-02-05 15:04:37 +01:00
Michael Natterer e16c8a2352 Move the new "default_new_layer_mode" APIs to the image...
...in both the core and libgimp.

Images now know what the default mode for new layers is:

- NORMAL for empty images
- NORMAL for images with any non-legacy layer
- NORMAL_LEGAVY for images with only legacy layers

This changes behavior when layers are created from the UI, but *also*
when created by plug-ins (yes there is a compat issue here):

- Most (all?) single-layer file importers now create NORMAL layers
- Screenshot, Webpage etc also create NORMAL layers

Scripts that create images from scratch (logos etc) should not be
affected because they usually have NORMAL_LEGACY hardcoded.

3rd party plug-ins and scripts will also behave old-style unless they
get ported to gimp_image_get_default_new_layer_mode().
2017-08-21 20:18:00 +02:00
Michael Natterer 838449254a plug-ins: use gimp_get_default_new_layer_mode() for most new layers
instead of hardcoding NORMAL_LEGACY.
2017-08-20 17:12:46 +02:00
Michael Natterer dda54c1df8 Deprecate stock items for good and change all icon defines to GIMP_ICON_*
Try to sort all GIMP_ICON_* defines into FDO categories like in
https://specifications.freedesktop.org/icon-naming-spec/latest/ar01s04.html

Add defines for all icons we override, rename some icons to their FDO
standard names, and mark the ones we duplicate with a comment so we
don't forget to rename those to standard names in 3.0.
2017-03-05 16:01:59 +01:00
Michael Natterer fb3d1e4508 app, pdb, libgimp: rename values of enum GimpConvertPaletteType 2017-02-26 20:55:00 +01:00
Michael Natterer ed1ab140fb app, pdb, libgimp: rename values of enum GimpConvertDitherType
being exported to libgimp, and having a non-exported value, this is a
horrible mess like with GimpLayerMode, but at least the cruft value
names are deprecated now.
2017-02-26 20:13:09 +01:00
Michael Natterer 3cf423f0cd *: rename NORMAL to NORMAL_LEGACY and NORMAL_LINEAR to NORMAL
and make NORMAL_LEGACY immutable.
2017-02-26 16:26:34 +01:00
Michael Natterer 66060e3307 app, libgimp*, plug-ins: replace enum GimpLayerModeEffects by GimpLayerMode
with proper value names. Mark most values as _BROKEN because they use
weird alpha compositing that has to die. Move GimpLayerModeEffects to
libgimpbase, deprecate it, and set it as compat enum for GimpLayerMode.
Add the GimpLayerModeEffects values as compat constants to script-fu
and pygimp.
2017-01-08 23:00:19 +01:00
Michael Natterer 46bcd82800 Bug 773233 - CVE-2007-3126 - Gimp 2.3.14 allows context-dependent attackers...
...to cause a denial of service (crash) via an ICO file with an
InfoHeader containing a Height of zero

Add some error handling to ico-load.c and bail out on zero width or height
icons. Also some formatting cleanup.
2016-11-06 21:34:43 +01:00
Michael Natterer 4033415a79 app, libgimpwidgets, plug-ins: kill gtk_scrolled_window_add_with_viewport()
It's deprecated in GTK+ 3.x, so we get rid of some deprecation
warnings. Also, it has always only been a utility function that hides
what is really going on in the widget hierarchy.
2016-09-07 20:12:28 +02:00
Jehan ec27b539ea plug-ins: various s/save/export/ replacement on visible strings. 2016-02-16 02:35:43 +01:00
Matt Giuca 07dfe4a5eb plug-ins: Fix generation of the AND mask for 32-bit ICO images
Previously, the mask would be transparent if the alpha was <50%.
However, this causes pixels to become black in some places in Windows
(notably, the taskbar on Windows 10). Therefore, always set the mask
to opaque if a pixel is partially or fully opaque.
2015-09-18 18:58:12 +02:00
Øyvind Kolås 7e6320497e follow gegl api changes from commit af5361ca8d, with an abyss policy argument
to gegl_buffer_copy.
2015-05-25 01:27:31 +02:00
Michael Natterer ec786816bb */Makefile.am: merge INCLUDES into AM_CPPFLAGS
automake-1.13 finally warns about this anachronism.
2013-06-05 20:48:37 +02:00
Michael Natterer 5f2afe333f plug-ins: port file-ico to GEGL 2012-11-30 01:38:23 +01:00
Øyvind Kolås d1ced11415 plug-ins: add GEGL_CFLAGS to many Makefile.am's 2012-05-02 17:46:08 +02:00
Kevin Cozens 15d0b4fa37 Fix link error when newer versions of required libs are installed locally
Fixes order of directories specified by -L's so the ones containing newer
glib/gtk will be searched before directories with the older libraries.
2011-12-22 12:03:54 -05:00
Mukund Sivaraman a35813ffd7 file-ico: Move image_ID into local blocks 2011-10-03 19:01:15 +05:30
Mukund Sivaraman 123bb1e5ad file-ico: Remove dead assignment (and variable) 2011-10-03 18:59:39 +05:30
Michael Natterer dcb4c6e34a plug-ins: use gtk_box_new() 2011-09-30 12:18:24 +02:00
Michael Natterer ab3fe10275 plug-ins: remove some more -Wunused-but-set-variable 2011-05-15 21:12:49 +02:00
Michael Natterer 8c4d99f883 Bug 645456 - Inconsistent window (role) naming scheme
Applied patch from Christoph Kappel which adds a "gimp-" prefix to all
plug-in dialog window roles.
2011-04-08 20:31:34 +02:00
Nelson A. de Oliveira 7666e5cf36 Fix memory and descriptor leaks 2010-11-12 21:56:17 +01:00
Michael Natterer bbd7ec6b5c plug-ins: port from gimp_image_add_foo() to gimp_image_insert_foo()
I'm sure some plug-ins need to add their items *not* at the toplevel,
but since making plug-ins really tree-aware is a lot more work than
just fixing insert positions, I went for passing -1 as parent in
almost all cases. And because of laziness...
2010-09-06 11:40:46 +02:00
Michael Schumacher e77dd90fc0 Bug 574018 - Add a manifest to executables
Created a resource file for plug-ins and a rule to link it to them.
The application icon file is smaller than the default one, there's no
point in doubling the size of a plug-in executable just for an icon.

If no problems turn up, this will close the bug.
2010-09-01 08:24:45 +02:00
Nelson A. de Oliveira 4fea27ec1d Bug 623169 - Memory leaks in GIMP
Add some missing g_free() and free() calls, found by cppcheck.
2010-07-15 21:42:36 +02:00
Michael Natterer c6a2eaa5c4 plug-ins: use new item API instead of deprecated drawable API 2010-07-09 12:27:36 +02:00
Michael Natterer 2db98792dc Bug 607242 - GIMP 2.7.0 fails to build against libpng 1.4.0
Depend on the libpng version that is in debian testing (1.2.42) and
use png_set_expand_gray_1_2_4_to_8() instead of the deprecated
png_set_gray_1_2_4_to_8().
2010-01-31 11:56:36 +01:00
Martin Nordholts eb6bef33e4 Use gtk_widget_set_visible()
In places where the pattern

  if (show)
    gtk_widget_show (widget);
  else
    gtk_widget_hide (widget);

is used, change to

  gtk_widget_set_visible (widget, show);

Also do some other minor cleanups.
2009-10-17 15:07:34 +02:00
Martin Nordholts 19fe919dce plug-ins: Port file plug-ins to new export API 2009-07-21 16:03:58 +02:00
Michael Natterer e805cb0cf4 Use gtk_dialog_get_content_area() instead of dialog->vbox 2009-07-15 18:57:12 +02:00
Michael Schumacher eed061efbb Adding Microsoft Windows executables to the .gitignore files
All binaries have been added individually.
Old binaries are supposed to show up as untracked.
2009-06-19 00:14:17 +02:00
Martin Nordholts 4d7a6b10d1 Added .gitignore files generated with git svn create-ignore.
svn path=/trunk/; revision=27972
2009-01-31 11:37:44 +00:00
Michael Natterer 4ea1437646 plug-ins/common/*.c plug-ins/color-rotate/color-rotate.c
2009-01-19  Michael Natterer  <mitch@gimp.org>

	* plug-ins/common/*.c
	* plug-ins/color-rotate/color-rotate.c
	* plug-ins/file-bmp/bmp.c
	* plug-ins/file-faxg3/faxg3.c
	* plug-ins/file-fits/fits.c
	* plug-ins/file-fli/fli-gimp.c
	* plug-ins/file-ico/ico.c
	* plug-ins/file-jpeg/jpeg.c
	* plug-ins/file-psd/psd-save.c
	* plug-ins/file-psd/psd.c
	* plug-ins/file-sgi/sgi.c
	* plug-ins/file-uri/uri.c
	* plug-ins/file-xjt/xjt.c
	* plug-ins/flame/flame.c
	* plug-ins/fractal-explorer/fractal-explorer.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gimpressionist/gimp.c
	* plug-ins/gradient-flare/gradient-flare.c
	* plug-ins/help-browser/help-browser.c
	* plug-ins/ifs-compose/ifs-compose.c
	* plug-ins/imagemap/imap_main.c
	* plug-ins/lighting/lighting-main.c
	* plug-ins/map-object/map-object-main.c
	* plug-ins/maze/maze.c
	* plug-ins/metadata/metadata.c
	* plug-ins/pagecurl/pagecurl.c
	* plug-ins/print/print.c
	* plug-ins/pygimp/gimpfu.py
	* plug-ins/script-fu/script-fu-script.c
	* plug-ins/script-fu/script-fu.c
	* plug-ins/selection-to-path/selection-to-path.c
	* plug-ins/twain/twain.c
	* plug-ins/win-snap/winsnap.c: document the "run-mode" parameter
	as we document enums for core procedures.


svn path=/trunk/; revision=27922
2009-01-19 20:11:36 +00:00
Michael Natterer d9b5207aa2 Change licence to GPLv3 (and to LGPLv3 for libgimp).
2009-01-17  Michael Natterer  <mitch@gimp.org>

	* all files with a GPL header and all COPYING files:

	Change licence to GPLv3 (and to LGPLv3 for libgimp).

	Cleaned up some copyright headers and regenerated the parsers in
	the ImageMap plugin.


svn path=/trunk/; revision=27913
2009-01-17 22:28:01 +00:00
Sven Neumann 39571e1656 create GHashTable with destroy notifiers.
2008-08-20  Sven Neumann  <sven@gimp.org>

	* plug-ins/file-ico/ico-save.c: create GHashTable with destroy
	notifiers.


svn path=/trunk/; revision=26668
2008-08-20 06:24:45 +00:00
Sven Neumann 3f26d82b62 plug-ins/file-faxg3/faxg3.c plug-ins/file-ico/ico.c
2008-08-20  Sven Neumann  <sven@gimp.org>

	* plug-ins/file-faxg3/faxg3.c
	* plug-ins/file-ico/ico.c
	* plug-ins/file-ico/ico-load.[ch]
	* plug-ins/file-ico/ico-save.[ch]: pass error messages with the
	return values instead of calling g_message().


svn path=/trunk/; revision=26667
2008-08-20 06:15:35 +00:00
Sven Neumann 98d7a372f0 applied patch from Aurimas Juška that fixes an endianness issue (bug
2008-08-15  Sven Neumann  <sven@gimp.org>

	* plug-ins/file-ico/ico-save.c: applied patch from Aurimas Juška
	that fixes an endianness issue (bug #529629).


svn path=/trunk/; revision=26574
2008-08-15 17:50:15 +00:00
Michael Natterer c023af4671 plug-ins/common/cml-explorer.c plug-ins/common/depth-merge.c
2008-08-11  Michael Natterer  <mitch@gimp.org>

	* plug-ins/common/cml-explorer.c
	* plug-ins/common/depth-merge.c
	* plug-ins/common/file-cel.c
	* plug-ins/common/oilify.c
	* plug-ins/file-bmp/bmp-write.c
	* plug-ins/file-bmp/bmp.[ch]
	* plug-ins/file-ico/ico-dialog.c
	* plug-ins/file-ico/ico-save.c
	* plug-ins/file-ico/ico.h
	* plug-ins/flame/flame.c
	* plug-ins/fractal-explorer/fractal-explorer-dialogs.c
	* plug-ins/fractal-explorer/fractal-explorer.[ch]
	* plug-ins/gimpressionist/gimp.c
	* plug-ins/gimpressionist/gimpressionist.[ch]
	* plug-ins/gimpressionist/orientmap.c
	* plug-ins/gimpressionist/presets.c
	* plug-ins/gimpressionist/sizemap.c
	* plug-ins/help-browser/dialog.[ch]
	* plug-ins/help-browser/help-browser.c
	* plug-ins/ifs-compose/ifs-compose.c
	* plug-ins/imagemap/imap_default_dialog.c
	* plug-ins/imagemap/imap_main.[ch]
	* plug-ins/lighting/lighting-main.[ch]
	* plug-ins/lighting/lighting-ui.c
	* plug-ins/map-object/map-object-main.[ch]
	* plug-ins/map-object/map-object-ui.c
	* plug-ins/selection-to-path/selection-to-path.c
	* plug-ins/win-snap/winsnap.c: use PLUG_IN_BINARY and PLUG_IN_PROC
	defines consistently instead of using literal strings or other
	random defines. Define them if not already there or move them to
	plugin-global places.

	* plug-ins/win-snap/Makefile.am: rename the binary to "win-snap".

	* plug-ins/win-snap/winsnap.c: changed accordingly.


svn path=/trunk/; revision=26509
2008-08-11 19:42:08 +00:00
Michael Natterer 67a0daf045 change all LIBFOO variables to FOO_LIBS for consistency, could get rid of
2008-08-11  Michael Natterer  <mitch@gimp.org>

	* configure.in: change all LIBFOO variables to FOO_LIBS for
	consistency, could get rid of some variables alltogether since
	PNG_CHECK_MODULES() already defined FOO_LIBS.

	* tools/Makefile.am
	* modules/Makefile.am
	* plug-ins/file-ico/Makefile.am
	* plug-ins/file-jpeg/Makefile.am
	* plug-ins/file-psd/Makefile.am
	* plug-ins/file-xjt/Makefile.am
	* plug-ins/common/plugin-defs.pl
	* plug-ins/common/mkgen.pl: changed accordingly.

	* plug-ins/common/Makefile.am: regenerated.


svn path=/trunk/; revision=26498
2008-08-11 14:40:48 +00:00
Michael Natterer 3d75c95f95 plug-ins/bmp/* plug-ins/faxg3/* plug-ins/fits/* plug-ins/fli/*
2008-08-11  Michael Natterer  <mitch@gimp.org>

	* plug-ins/bmp/*
	* plug-ins/faxg3/*
	* plug-ins/fits/*
	* plug-ins/fli/*
	* plug-ins/ico/*
	* plug-ins/jpeg/*
	* plug-ins/psd/*
	* plug-ins/sgi/*
	* plug-ins/uri/*
	* plug-ins/xjt/*: removed these...

	* plug-ins/file-bmp/*
	* plug-ins/file-faxg3/*
	* plug-ins/file-fits/*
	* plug-ins/file-fli/*
	* plug-ins/file-ico/*
	* plug-ins/file-jpeg/*
	* plug-ins/file-psd/*
	* plug-ins/file-sgi/*
	* plug-ins/file-uri/*
	* plug-ins/file-xjt/*: and moved them here. Changed executable
	names to "file-foo".

	* plug-ins/Makefile.am: changed accordingly.

	* plug-ins/common/*: rename all file plug-ins to file-foo.c. Get
	rid of the names "poppler" and "postscript" and call them
	"file-pdf" and "file-ps" because the conflict with standard
	autofoo targets is gone.

	* plug-ins/common/plugin-defs.pl: changed accordingly.

	* plug-ins/common/mkgen.pl: make sure cflags variables are named
	"PLUG_IN_NAME_CFLAGS" and not "PLUG-IN-NAME_CFLAGS"

	* plug-ins/common/Makefile.am: regenerated.

	* configure.in: change folders and variable names to match above
	changes.


svn path=/trunk/; revision=26494
2008-08-11 10:06:13 +00:00