News

Here's the list of all the news about IrfanPaint.


IrfanPaint 0.4.13.70 released

This release fixes a bug in the previous one which made selections not working correctly with the current IV version.

It also includes some hacks to make IrfanPaint work better with the new IV selections handling.

Note: it's strongly advised to update from .67 and .69 to this release, since the former includes a serious memory leak bug, and the latter makes working with selections almost impossible.

Continue Reading…

Posted by Matteo Italia on Fri, 30 Jul 2010
tags: release , stablerelease , releasenotes .


IrfanPaint 0.4.13.69 released

Note (30/07/2010): this release contains a bug that make working with selections almost impossible. It's strongly advised to install a more recent version.

This release just fixes a memory leak in the advanced eraser tool; if the Paint palette was kept open while browsing several images, the advanced eraser tool didn't deallocate the memory for the old backup DIBs; this lead to memory exhaustion, general system slowdown (on old machines) and to instability of IrfanView and IrfanPaint (thanks to Leo Breuss, Homer Seywerd and Irfan Skiljan for reporting and testing).

Why did the release number jumped from 67 to 69? Because I got it wrong, and when I noticed it I had already committed the changes in the SVN. :P

Continue Reading…

Posted by Matteo Italia on Wed, 28 Jul 2010
tags: release , stablerelease , releasenotes .


IrfanPaint going opensource

Since, as some may have noted, I'm not having anymore much time to spend working on IrfanPaint, I'm making the whole project opensource: in this way, any people with the right abilities will be able to contribute to IrfanPaint, improving it without having me to do all the work. I'm not talking only about programming: even graphic artists, UI designers, ... would be really appreciated.

I've just released the sources, but I'd like to find out if anybody there would actually be interested in contributing to IrfanPaint; for the programming work, C++ programming skills are required, along with a good knowledge of Win32 APIs (GDI and User APIs in particular).

The project isn't very big, but isn't actually small, it's about 18000 lines of code; the main development tool is Visual C++ 2003 (VC7.1), which has an almost complete support for the C++98 standard and is still widely supported by most libraries. The compiler and the tools of VC7.1 are also available free of charge, and I may convert the project to makefile so that people without VC could compile it.

IrfanPaint has very few dependencies, it uses just the Win32 APIs and some #include-only features of boost (mostly smart pointers), although in the future it may use AGG to perform drawing.

The stated objectives are to improve existing features (adding antialiasing support and unlinking from the limited GDI APIs) and add new ones (especially a minimum of vectorial capabilities), while keeping the final object size small.

Another important milestone for me would be to decouple most of the plugin from IrfanView, maybe creating a generic interface that would translate requests from the plugin (current shown area, window to DIB coordinates translations, ...) to the specific window messages used to communicate with IrfanView.

This would make simpler a port to other applications and plugins: for example, I was asked by another plugin developer if Paint could be used in a window of his plugin: this at the moment is quite difficult, but creating a sharp separation between host-plugin interface and plugin inner working would make such a port quite easy.

Pratical info

IrfanPaint is hosted on Google Code, and its project page is http://code.google.com/p/irfanpaint/.

The code is released under the BSD license, i.e. anybody can use any part of my code to do anything, as far as they add a credit to me and to the people who worked on IrfanPaint.

If anyone is interested in contributing, please contact me; I'll be glad to explain anything about how IrfanPaint code works.

Continue Reading…

Posted by Matteo Italia on Sun, 9 May 2010
tags: opensource , bsd , irfanpaint .


IrfanPaint 0.4.13.67 released

The new stable release features some big changes in the code and minor bugfixes; I'm sorry that it took so much time :-P .

Changelog:

  • DibSection class almost rewritten;
  • message cracker macros used in almost all the code;
  • almost all "normal" pointers replaced by smart pointers;
  • different exception handling policy (the Retry and Ignore options have been removed, they proved to be dangerous);
  • new generic text mappings functions used;
  • more precise zoom value obtained from IV (float instead of int);
  • fixed the "offscreen toolbar" bug;
  • fixed the bug in the localization of the Edit measurement unit dialog;
  • ... other changes that at the moment I don't remember :-D .

By the way, the full packet of this version of IrfanPaint includes the last (at this moment) IrfanView version (4.25), and not some outdated beta version as the previous one; in the download section below the reference to IV 4.22 is to point out that it is the minimum supported IV version.

This release is intended to be a bridge between the current IrfanPaint minor version (4) to the new one (5); many changes to the main classes in the code have been made, and a major restructuring of the code is undergoing. Anyhow don't expect to see the new release very soon, at the moment I'm not actively working on it, I'm busy with other projects.

Continue Reading…

Posted by Matteo Italia on Sat, 5 Sep 2009
tags: release , stablerelease , releasenotes .


Important notice for IrfanView 4.22 and 4.23

The last IrfanView versions (4.22 and 4.23) have been released by mistake with the β0.4.12.66 version of IrfanPaint. Anyway, even if it's a beta, it has proven to be quite stable; its only known bug is that the "Edit measurement unit" is not localized correctly: the title is "stolen" from the "Measurement units" dialog, the other controls remain untranslated and the "Cancel" button is always localized in Italian (it shows "Annulla").

I'm sorry to make you wait for the next version, but I've been very busy with school, and many changes I made to IrfanPaint are in the internal structure of the plugin, so they must be tested extensively before releasing a new version. In the next version I'm planning to introduce the concept of "objects", i.e. text, lines and shapes that are editable after being put on the image.

Posted by Matteo Italia on Tue, 27 Jan 2009
tags: important , notice , IV4.22 , IV4.23 .


IrfanPaint β0.4.12.66 released

The new IrfanPaint beta release just fixes a bug in the save settings procedure, that stored a wrong value for the vertical position of the toolbar. The bug was serious since very often this resulted in making the toolbar go off-screen. Thanks to Leif Larsson for the quick bugreport.

Continue Reading…

Posted by Matteo Italia on Thu, 24 Jul 2008
tags: release , releasenotes , betarelease .


IrfanPaint β0.4.12.65 released

The new IrfanPaint beta release includes the following changes:

  • new measure tool;
  • new INI section manager class for faster settings load and write;
  • replaced some SendMessages with wrapper macros;
  • fixed a bug in the ReplaceString function: if the replacement string was longer than the string to be replaced the characters after it were overwritten;
  • minor changes to some window procedures;
  • minor changes to the UIBaseTool class (to support per-tool settings saving/loading and show options dialog request);
  • minor changes to the UIToolsContainer class (for the same reasons);
  • minor changes all around to replace C-style strings with C++ strings (also because the new INI section manager class works with C++ strings);
  • minor changes to the WindowMagnetizer class (now if the window is not magnetized the returned magnetization offset is 0).
Continue Reading…

Posted by Matteo Italia on Thu, 24 Jul 2008
tags: release , releasenotes , betarelease .


IrfanPaint 0.4.11.64 released

The new IrfanPaint stable release includes the following changes:

  • changed icon;
  • fixed a bug in the text tool (only in the previous version the ANSI richedit control was used, so it was impossible to insert non-ANSI characters in the images);
  • now also the hatch color is adjusted to the palette of the image;
  • removed string with ID 5101 ("This plug-in doesn't work on Windows 95, 98 and ME."), that now is hardcoded; this because my string-loading class (which includes the support for language files) works with unicode APIs, which do not work on Windows 9x/ME (and that string is displayed only on those OSes);
  • other minor changes to the code.

This should be the version of IrfanPaint that will be shipped with IrfanView 4.20, that will be released soon.

Continue Reading…

Posted by Matteo Italia on Thu, 19 Jun 2008
tags: release , stablerelease , releasenotes .


IrfanPaint 0.4.11.63 released

The new IrfanPaint stable release includes the following changes:

  • fixed a bug in the text rendering routine;
  • fixed a bug that made IV disappear from the Alt+Tab list when an IrfanPaint's modal dialog was shown;
  • removed the accelerators for OK and Cancel buttons (Microsoft guidelines says that they shouldn't have accelerators) and from the Foreground and Background tabs (they were useless);
  • reordered the tab order of the controls in the Pen & brush settings dialog;
  • enlarged some labels to help the translators;
  • added the INI file option "langFileOverride" to override the automatic language file detection;
  • fixed a bug in the "Center image in the window" option handling.
Continue Reading…

Posted by Matteo Italia on Tue, 20 May 2008
tags: release , stablerelease , releasenotes .


IrfanPaint 0.4.11.62 released

Finally I released a stable version of IrfanPaint; it is almost identical to the previous beta (that seemed to work well), I only made some little changes in the text of the tooltips (that has gone under general revision) and in the size of some labels (to help the translators of languages with long words).

Continue Reading…

Posted by Matteo Italia on Sat, 3 May 2008
tags: release , stablerelease , releasenotes .


IrfanPaint β0.4.11.61 released

The new IrfanPaint beta release includes the following changes:

  • fixed few bugs in the language files handling;
  • improved language file version check (now the TargetVersion field in the language file can be terminated with a * to make it accepted by more versions of IrfanPaint).
Continue Reading…

Posted by Matteo Italia on Tue, 22 Apr 2008
tags: release , releasenotes , betarelease .


IrfanPaint β0.4.11.60 released

The new IrfanPaint beta release includes the following changes:

  • fixed a bug of the masked tools that could lead to stack corruption, heap corruption and IV crash;
  • fixed a bug in the clone tool UI that led to difficult tool usage;
  • now the clone tool behave correctly if you set a source point, scroll the image and start drawing;
  • fixed some Windows NT 4.0 compatibility issues;
  • reduced color depth of many icons and added low-color depth version for IrfanPaint logo icon to enhance Windows NT 4.0 compatibility;
  • now the text dialog is shown away from the text insertion point
  • better mask reusing/deleting in the masked tools (to avoid recreating continuously the mask or keeping useless big mask); this results in faster clone tool and color replacer tool with less memory usage;
  • new internal language file managment;
  • changed a little the structure of the language file;
  • added a [FileInfo] section to the language file with info about the translator, the language name and the target IrfanPaint version; the first two infos are displayed in the "About IrfanPaint" box;
  • more debug informations in BWDibSection class errors;
  • better event handling for the "Hold to preview" button;
  • little modifications of some dialogs;
  • updated credits;
  • added unificated number textboxes validating code;
  • added/edited some strings;
  • created the internal tool IPLFGen to generate quickly the language file templates.
Continue Reading…

Posted by Matteo Italia on Mon, 21 Apr 2008
tags: release , releasenotes , betarelease .


IrfanPaint β0.4.10.59 released

The new IrfanPaint beta release includes the following changes:

  • added tolerance for the floodfill and color replacer tool;
  • improved speed of the color replacer tool;
  • fixed a bug of the text tool (it always used transparent background with hatched brushes);
  • improved a little the efficiency of the AdvEraser code;
  • changed to transparent the background of many labels and controls (the opaque BG was visible in some strange Windows color combinations);
  • fixed the wrong behavior of the precision cursors when an exception is catched;
  • added exception handling code to the About dialog;
  • added a new support class for B/W DIB used as masks (now the "masked tools" use it);
  • great changes in the DibSection class (now is possible to access pixels without the intermediation of the Windows GDI);
  • other small changes in the code.
Continue Reading…

Posted by Matteo Italia on Sun, 30 Mar 2008
tags: release , releasenotes , betarelease .


IrfanPaint β0.4.9.58 released

The new IrfanPaint beta release includes the following changes:

  • now the inserted text is remembered until IV is closed;
  • now the font settings are saved to the INI file only if the user closes the dialog with "OK";
  • better error handling in the Insert Text dialog and in the Pen and Brush Settings dialog;
  • fixed a bug in the error messages composition (some error messages would have been unreadable);
  • fixed some potential problems in string buffers handling;
  • fixed a bug that on some machines caused an incorrect rendering of the text (a /.notdef glyph was displayed at the end of each line of text; see this post for more info);
  • added support for the "IgnoreINIWriteErrors" setting of the INI file (more info).
Continue Reading…

Posted by Matteo Italia on Mon, 17 Mar 2008
tags:


IrfanPaint β0.4.9.57 released

The new IrfanPaint beta release includes the following changes:

  • added pen width setting in the Pen & brush settings dialog;
  • rewritten much of the code of the Pen & brush settings dialog;
  • brightened the "select text color" icon;
  • now the "select text color" button changes icon depending of its function (select text color/show pen & brush settings dialog);
  • minor changes in the Insert text dialog code;
  • fixed a bug in the text rendering routine (it didn't render correctly the distance between lines);
  • changed resource IDs definitions;
  • added a β sign before the version number if it's a beta release;
  • fixed some bugs in the tooltips showing routine that may have caused a program crash;
  • fixed other small bugs and revised much code.
Continue Reading…

Posted by Matteo Italia on Wed, 12 Mar 2008
tags:


IrfanPaint β0.4.9.56 released

The new IrfanPaint beta release just fixes a bug in the smart eraser (in the previous version it did not work and in some cases originated an error).

Continue Reading…

Posted by Matteo Italia on Sun, 9 Mar 2008
tags: release , releasenotes , betarelease .


IrfanPaint β0.4.9.55 released

The new IrfanPaint beta release includes the following changes:

  • added the replace color tool;
  • added Unicode support to the plugin; this way the text tool should work correctly with Unicode characters;
  • done some code cleanup.

Note: to support Unicode I had to change much code, so there might be some string handling errors or buffer overflows. Be careful with this beta and always report me any strange behavior.

Continue Reading…

Posted by Matteo Italia on Sun, 9 Mar 2008
tags:


IrfanPaint β0.4.8.54 released

The new IrfanPaint beta release just fixes the undo feature of the text tool and updates its tooltip.

Continue Reading…

Posted by Matteo Italia on Sat, 8 Mar 2008
tags: release , releasenotes , betarelease .


IrfanPaint β0.4.8.53 released

The new IrfanPaint beta release includes the following changes:

  • added the text tool;
  • replaced some nasty C code with new object-oriented C++ code (e.g. replaced many C strings and _snprintfs with std::strings and std::ostrstreams;
  • new toolbar auto-resize code (but this change is almost invisible for the user);
  • fixed some bugs;
  • other improvements that I don't remember at the moment.

Note: the full packet of this version (and probably of the future versions) contains an IV executable that fixes the scrollbars bug; if you experience the problems described in the linked topic or drawing problems with IrfanPaint (e.g. you draw and nothing appears) download the the full packet and replace your IV exe with the one shipped with IP.

Continue Reading…

Posted by Matteo Italia on Thu, 6 Mar 2008
tags: release , releasenotes , betarelease .


IrfanPaint β0.4.7.52 released

The new IrfanPaint beta release just fixes this bug (and some other UI-related weirdnesses of the tools).

Continue Reading…

Posted by Matteo Italia on Sun, 20 Jan 2008
tags: release , releasenotes , betarelease .


IrfanPaint β0.4.7.51 released

The new IrfanPaint beta release includes the following changes:

  • fixed undo bug;
  • changed magnetization function: now the toolbar is magnetized also if its side isn't completely in contact with the side of the IrfanView window. This also solves a bug.
Continue Reading…

Posted by Matteo Italia on Sun, 6 Jan 2008
tags: release , releasenotes , betarelease .


IrfanPaint β0.4.7.50 released

The new IrfanPaint beta release includes the following changes:

  • replaced a lot of nasty code (almost all the tools UI code) with new object-oriented code; this makes the dll bigger (200 KiB non UPXed) but the plug-in now is a lot simpler to maintain and expand;
  • new error-handling code;
  • changed the behavior of the clone tool (see the exhaustive tooltip of the clone tool);
  • fixed single-pixel drawing with nonround endcap bug (more info).
Continue Reading…

Posted by Matteo Italia on Thu, 3 Jan 2008
tags: release , releasenotes , betarelease .


IrfanPaint β0.4.6.49 released

The new IrfanPaint beta release includes the following changes:

  • the straighten tool now works correctly also if you underline vertical lines;
  • fixed many undo bugs;
  • new magnetize function (just move the toolbar near the left or right border of IV window to see how it works);
  • fixed a bug in the settings load procedure;
  • fixed a toolbar-position bug;
  • pressing F12 when the toolbar is open closes it;
  • added multi-language support (more info).
Continue Reading…

Posted by Matteo Italia on Sat, 8 Dec 2007
tags: release , releasenotes , betarelease .


IrfanPaint 0.4.5.48 released

The new IrfanPaint release includes the following changes:

  • straighten tool now uses IP's BG color as BG color for the rotation;
  • fixed a bug in the clean-up process that caused the saving of a wrong "exhaustive tooltips" button state;
  • fixed the "undesidered tooltips show" bug;
  • fixed an error in the color pane drawing routine;
  • fixed a bug in the "advanced eraser" tool (FG pen settings used instead of BG ones);
  • partially fixed the "ghost cursor" bug.

The last three fixes haven't been included in the IrfanPaint version bundled with IV 4.10 (see above).

Continue Reading…

Posted by Matteo Italia on Tue, 16 Oct 2007
tags: release , stablerelease , releasenotes .