History log of /haiku/src/add-ons/translators/gif/GIFTranslator.cpp
Revision Date Author Comments
# 425ac1b6 20-Jun-2023 Alexander von Gluck IV <kallisti5@unixzen.com>

refactor: Swap %Ld for %lld in all format usages

* %Ld is an undocumented alias for %lld in glibc.
* muslc doesn't implement it for this reason.
* While we will likely never drop %Ld support,
lets clean house and set a better example.

Change-Id: Id46dad3104abae483e80cc5c05d1464d3ecd8030
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6636
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 5fa8801f 15-Jul-2014 John Scipione <jscipione@gmail.com>

GIF Translator: Update default settings

* Palette is set to Optimal which preserves colors of original
* Write transparent gifs is on which preserves transparency
* Transparent auto is on which automatically detects the transparent color
* default transparent color is 255, 255, 255 (aka white) if you select a
manual transparent color which seems like a more sane default than black.

This allows ShowImage and other programs to save transparent gifs without
removing transparency and without reducing the colors.


# 2d612ef7 05-Mar-2014 John Scipione <jscipione@gmail.com>

GIFTranslator: Whitespace style fixes

Also remove break in last case.


# 78bfaa98 05-Mar-2014 John Scipione <jscipione@gmail.com>

GIFTranslator: try hard to not throw an exception

... by calling new(std::nothrow)

Also try really hard not to leak any memory in the process.

Lots of error checking added to check if reads and writes fail
returning B_IO_ERROR and if initialization fails returning B_NO_MEMORY


# 7b461148 05-Mar-2014 John Scipione <jscipione@gmail.com>

GIFTranslator: call new(std::nothrow) BBitmap again

... to prevent throwing a std::bad_alloc exception if there isn't
enough memory to allocate a new BBitmap.

This effectively reverts 116e78d4d4c1f8087a8e70707acc4227c5d0edf7

Thanks Axel and AnEvilYak and sorry for the noise.


# 01be25ae 05-Mar-2014 John Scipione <jscipione@gmail.com>

GIFTranslator: Refactor filling out BBitmap

* Remove the NULL check since BBitmaps don't return NULL but check
that it IsValid() instead.
* Fill out the *out pointer directly instead of creating a temporary
bitmap pointer.
* Rename err to result.
* Return B_OK unconditionally if we get to the end of the function.

Thanks again Jérôme


# c030befb 05-Mar-2014 John Scipione <jscipione@gmail.com>

GIFTranslator: Reorder includes

Thanks Jérôme


# 5adf9d6e 04-Mar-2014 John Scipione <jscipione@gmail.com>

Use doxygen style comments as per guidelines

Thanks Axel!


# 81abd9ed 03-Mar-2014 John Scipione <jscipione@gmail.com>

GIFTranslator: gifSave not gitSave, habit

Also move comment before function. No functional change intended.


# 84bff752 01-Mar-2014 John Scipione <jscipione@gmail.com>

GIFTranslator: Log info messages with LOG_INFO not LOG_ERR


# 116e78d4 28-Feb-2014 John Scipione <jscipione@gmail.com>

GIFTranslator: Remove unneeded BBitmap checks


# 5e4c29a6 28-Feb-2014 John Scipione <jscipione@gmail.com>

GIFTranslator: Style fixes


# abfe23dc 14-Oct-2013 Philippe Saint-Pierre <stpere@gmail.com>

It now also uses the shared TranslatorSettings class, and localise its name
to be used in DataTranslations preflet.


# 546208a5 16-Apr-2012 Oliver Tappe <zooey@hirschkaefer.de>

More catalog-related cleanup.

* rename B_TRANSLATE_CONTEXT to B_TRANSLATION_CONTEXT and
B_TRANSLATE_WITH_CONTEXT to B_TRANSLATE_CONTEXT, squashing a TODO
* adjust all uses of both macros in Haiku's source tree
* use correct header guard for collecting/Catalog.h

The renamed macros require adjustments to all external applications
using catalogs.


# aec33db1 27-Nov-2011 Philippe Saint-Pierre <stpere@gmail.com>

Replace inappropriate usage of strncpy by strlcpy


# 3927bd3c 26-Nov-2011 Philippe Saint-Pierre <stpere@gmail.com>

Prevent string overflow by replacing usage of strcpy by strncpy

CID 8951, CID 10733, CID 10734, CID 10735, CID 10736, CID 10737, CID 10738,
CID 10739


# 70d59669 04-Feb-2011 Siarzhuk Zharski <zharik@gmx.li>

Applied following patches proposed by Jorma Karvonen:
#7135 #7140 #7141 #7145 #7186 #7188 #7191
#7136 #7187 #7184 #7185 #7192 #7138 #7139

with some changes and exclusions:
- all attempts to localize "fprintf(stderr,..." and "printf(..."
replaced by _untranslated_ "syslog(LOG_ERR ...";
- following *Translator.rdef files, that were not added in mentioned patches
were additionally created:
SGI, TIFF, RAW, RTF, PPM, WebP, EXR, STXT, WonderBrush, GIF, TGA;
- some small fixes for consistent catalogs building.

Thank you, Jorma! Please check. ;-)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40357 a95241bf-73f2-0310-859d-f6bbb57e9c96


# de6ba1a0 12-Aug-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

CID 1393: Memory leak.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38051 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a76f629e 05-Mar-2010 Ryan Leavengood <leavengood@gmail.com>

Apply patch from Maxime Simon to make several translators use the Layout API.
There are a few small changes from myself, such as adding a copyright for
Maxime in files with bigger changes. Also because this patch was so old I had
to do some manual patching, and added back the title and description on the TGA
and TIFF translators.

I think this improves things a lot, though there is still some work to do to
improve the consistency of the translator settings views.

I think this mostly fixes #2117, though I may leave the ticket open until a few
more things are resolved.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35769 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fcc3e627 13-Jan-2010 Stephan Aßmus <superstippi@gmx.de>

Patch by Humdiner:
Changed strings in add-ons to sentence case. This is case-add-ons.diff
from #5169.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35046 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 97c99097 18-Aug-2009 Ryan Leavengood <leavengood@gmail.com>

Fixing MIME signatures, though these are probably somewhat pointless. Some
still had obos though...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32504 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c095606e 03-Nov-2008 Ryan Leavengood <leavengood@gmail.com>

Fixed #3043, which was listed as a ShowImage bug but really was a bug in
several translators which used the incorrect MIME type for the base Be Bitmap
Format. Please when adding translators use image/x-be-bitmap, not just
x-be-bitmap. Though I suppose the if statement in ShowImage could be changed to
only look for x-be-bitmap at the end of the string when filtering, I think this
is the proper fix.

While I was editing the translators I also made the naming more consistant by
adding the translator name in parenthesis after Be Bitmap Format for those that
did not have it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28487 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7bc02c61 15-Sep-2008 Stefano Ceccherini <stefano.ceccherini@gmail.com>

simplified this weird code, while also fixing CID 1059

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27528 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9949213a 19-Oct-2005 Stephan Aßmus <superstippi@gmx.de>

removed the redundant "translator" from the folder names, fixed some warnings in the JPEG2000Translator

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14449 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5fa8801f3640853e279e91ee6edf1c927824113e 15-Jul-2014 John Scipione <jscipione@gmail.com>

GIF Translator: Update default settings

* Palette is set to Optimal which preserves colors of original
* Write transparent gifs is on which preserves transparency
* Transparent auto is on which automatically detects the transparent color
* default transparent color is 255, 255, 255 (aka white) if you select a
manual transparent color which seems like a more sane default than black.

This allows ShowImage and other programs to save transparent gifs without
removing transparency and without reducing the colors.


# 2d612ef7ae7c3c0c76a1b197b8098bd28a274abe 05-Mar-2014 John Scipione <jscipione@gmail.com>

GIFTranslator: Whitespace style fixes

Also remove break in last case.


# 78bfaa98e14d02fffe60aa9ac1d6c4943c8d09af 05-Mar-2014 John Scipione <jscipione@gmail.com>

GIFTranslator: try hard to not throw an exception

... by calling new(std::nothrow)

Also try really hard not to leak any memory in the process.

Lots of error checking added to check if reads and writes fail
returning B_IO_ERROR and if initialization fails returning B_NO_MEMORY


# 7b46114834d5a8bf7d25e662ee22b5a435617ba0 05-Mar-2014 John Scipione <jscipione@gmail.com>

GIFTranslator: call new(std::nothrow) BBitmap again

... to prevent throwing a std::bad_alloc exception if there isn't
enough memory to allocate a new BBitmap.

This effectively reverts 116e78d4d4c1f8087a8e70707acc4227c5d0edf7

Thanks Axel and AnEvilYak and sorry for the noise.


# 01be25aefe233feefb17b8c70d7553dc789bee1a 05-Mar-2014 John Scipione <jscipione@gmail.com>

GIFTranslator: Refactor filling out BBitmap

* Remove the NULL check since BBitmaps don't return NULL but check
that it IsValid() instead.
* Fill out the *out pointer directly instead of creating a temporary
bitmap pointer.
* Rename err to result.
* Return B_OK unconditionally if we get to the end of the function.

Thanks again Jérôme


# c030befbf93382ba9feb91787c97573ca5a4cee6 05-Mar-2014 John Scipione <jscipione@gmail.com>

GIFTranslator: Reorder includes

Thanks Jérôme


# 5adf9d6ee5605453c0f6c31caaeb8efcc80d721c 04-Mar-2014 John Scipione <jscipione@gmail.com>

Use doxygen style comments as per guidelines

Thanks Axel!


# 81abd9ed030560a40d8ca89af871816b3eae63e9 03-Mar-2014 John Scipione <jscipione@gmail.com>

GIFTranslator: gifSave not gitSave, habit

Also move comment before function. No functional change intended.


# 84bff7524538da9da3fbefc8e811b09042a52566 01-Mar-2014 John Scipione <jscipione@gmail.com>

GIFTranslator: Log info messages with LOG_INFO not LOG_ERR


# 116e78d4d4c1f8087a8e70707acc4227c5d0edf7 28-Feb-2014 John Scipione <jscipione@gmail.com>

GIFTranslator: Remove unneeded BBitmap checks


# 5e4c29a6b7d6cf23b6ea0d9dd22bd4abf5c89c1a 28-Feb-2014 John Scipione <jscipione@gmail.com>

GIFTranslator: Style fixes


# abfe23dcf33fc8172f5deb50980ff6c6c8fd8a53 14-Oct-2013 Philippe Saint-Pierre <stpere@gmail.com>

It now also uses the shared TranslatorSettings class, and localise its name
to be used in DataTranslations preflet.


# 546208a53940a26c6379c48a7854ade1a8250fc5 16-Apr-2012 Oliver Tappe <zooey@hirschkaefer.de>

More catalog-related cleanup.

* rename B_TRANSLATE_CONTEXT to B_TRANSLATION_CONTEXT and
B_TRANSLATE_WITH_CONTEXT to B_TRANSLATE_CONTEXT, squashing a TODO
* adjust all uses of both macros in Haiku's source tree
* use correct header guard for collecting/Catalog.h

The renamed macros require adjustments to all external applications
using catalogs.


# aec33db178d1475aedf4ee37f385d4c85ed721a3 27-Nov-2011 Philippe Saint-Pierre <stpere@gmail.com>

Replace inappropriate usage of strncpy by strlcpy


# 3927bd3c0d16367eef862660f7b7a5309b66a5a1 26-Nov-2011 Philippe Saint-Pierre <stpere@gmail.com>

Prevent string overflow by replacing usage of strcpy by strncpy

CID 8951, CID 10733, CID 10734, CID 10735, CID 10736, CID 10737, CID 10738,
CID 10739


# 70d5966963513ff47a456ba70b7d2eec0f99648d 04-Feb-2011 Siarzhuk Zharski <zharik@gmx.li>

Applied following patches proposed by Jorma Karvonen:
#7135 #7140 #7141 #7145 #7186 #7188 #7191
#7136 #7187 #7184 #7185 #7192 #7138 #7139

with some changes and exclusions:
- all attempts to localize "fprintf(stderr,..." and "printf(..."
replaced by _untranslated_ "syslog(LOG_ERR ...";
- following *Translator.rdef files, that were not added in mentioned patches
were additionally created:
SGI, TIFF, RAW, RTF, PPM, WebP, EXR, STXT, WonderBrush, GIF, TGA;
- some small fixes for consistent catalogs building.

Thank you, Jorma! Please check. ;-)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40357 a95241bf-73f2-0310-859d-f6bbb57e9c96


# de6ba1a073146873cb2dd6bb3aefab18f2eb37d1 12-Aug-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

CID 1393: Memory leak.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38051 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a76f629efad0ba4d6518d918a39dbcc6097fe536 05-Mar-2010 Ryan Leavengood <leavengood@gmail.com>

Apply patch from Maxime Simon to make several translators use the Layout API.
There are a few small changes from myself, such as adding a copyright for
Maxime in files with bigger changes. Also because this patch was so old I had
to do some manual patching, and added back the title and description on the TGA
and TIFF translators.

I think this improves things a lot, though there is still some work to do to
improve the consistency of the translator settings views.

I think this mostly fixes #2117, though I may leave the ticket open until a few
more things are resolved.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35769 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fcc3e627e1aedc4075deb952c66068d542fe9abe 13-Jan-2010 Stephan Aßmus <superstippi@gmx.de>

Patch by Humdiner:
Changed strings in add-ons to sentence case. This is case-add-ons.diff
from #5169.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35046 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 97c990977207d3fb1acc0b6b8535bef05fe73665 18-Aug-2009 Ryan Leavengood <leavengood@gmail.com>

Fixing MIME signatures, though these are probably somewhat pointless. Some
still had obos though...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32504 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c095606e75fe3c978e4749fd2ee5738a44c9af16 03-Nov-2008 Ryan Leavengood <leavengood@gmail.com>

Fixed #3043, which was listed as a ShowImage bug but really was a bug in
several translators which used the incorrect MIME type for the base Be Bitmap
Format. Please when adding translators use image/x-be-bitmap, not just
x-be-bitmap. Though I suppose the if statement in ShowImage could be changed to
only look for x-be-bitmap at the end of the string when filtering, I think this
is the proper fix.

While I was editing the translators I also made the naming more consistant by
adding the translator name in parenthesis after Be Bitmap Format for those that
did not have it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28487 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7bc02c61bd9ae041359aac3a3712cf4b645a08e0 15-Sep-2008 Stefano Ceccherini <stefano.ceccherini@gmail.com>

simplified this weird code, while also fixing CID 1059

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27528 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9949213a25979d177b420bc71891c2bff02a331d 19-Oct-2005 Stephan Aßmus <superstippi@gmx.de>

removed the redundant "translator" from the folder names, fixed some warnings in the JPEG2000Translator

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14449 a95241bf-73f2-0310-859d-f6bbb57e9c96