Page 1 of 2 1 2 LastLast
Results 1 to 10 of 13

Thread: v4.27: IrfanPaint no longer keeps data(removed when paint closed)

  1. #1
    IV Beginner
    Join Date
    Jul 2006
    Location
    Indiana, USA
    Posts
    24
    Version
    IrfanView 4.25
    OS
    32-bit Linux Distribution
    CPU Cores
    2

    Default v4.27: IrfanPaint no longer keeps data(removed when paint closed)

    IrfanPaint has given me trouble in keeping the changes it has made applied to the original. In 4.25 I found that if you zoomed to "Original Size" it would keep it's data (lines text, edits, etc.) when the dialog was closed, but now in 4.27 (with the latest 4.13.67 Paint) , there is nothing I can find to keep the changes. Even saving "in process" does not keep the changes made to that point!

    Yes this is Linux under WINE, (Using an updated Ubuntu Lucid and WINE 1.1.42) but has anyone else noticed a problem with "Paint" in 4.27?
    Last edited by MItaly; 07.07.2010 at 08:33 AM. Reason: IfranPaint => IrfanPaint
    Firefox 3.5.x & Thunderbird 2.0.0.x - Ubuntu 9.04 & 9.10 & Windows XP-SP3
    (1) 2.8 GHz/2Gb/ATI HD2600-512 RAM, SIS AC97 OB Audio (2) 2.9GHz /2Gb/NVIDIA GeForce 7300LE-256 RAM, Intel 82801 OB Audio

    ...Yes, he also uses IrfanView in Ubuntu linux!

  2. #2
    Plugin Author MItaly's Avatar
    Join Date
    Jul 2007
    Location
    Milan, Italy
    Posts
    515
    Version
    IrfanView 4.27
    CPU Cores
    4

    Default

    I tested Paint on wine a lot of time ago, and IIRC it worked with wine 1.1.x; since IP 4.13.67 changed almost nothing to what it was in the last two-three revisions, probably it's something that changed in IrfanView. Anyway, I'm not very surprised that it doesn't work flawlessly on wine, since some "dirty tricks" are used (because it couldn't be done otherwise, when I started to write it).
    I've got neither the time nor the abilities to debug this thing on Linux (I use Linux everyday, but I don't know how to debug an application running under wine); still, if someone wants to take care of the issue the sources of IP are publicly available, and I'll be glad to accept any patch that fixes this problem.
    IrfanPaint developer
    The latest stable IrfanPaint version is the 0.4.13.70.
    IrfanPaint is now open-source (released under BSD license).

  3. #3
    IV Beginner
    Join Date
    Jul 2006
    Location
    Indiana, USA
    Posts
    24
    Version
    IrfanView 4.25
    OS
    32-bit Linux Distribution
    CPU Cores
    2

    Default

    Like I said, it's been working basically fine up to now. Is there any way I can assist - is there a version that outputs log files (a debug variant) I can test?

    Can you ask Irfan if he's made any changes to the paint interface routine for 4.27 that may offer a clue?

    Let me know if you can - I'll post a note on the Ubuntu and Wine boards - also noting there that IrfanPaint is going FOSS.
    Last edited by emarkay; 02.07.2010 at 11:12 PM. Reason: typo
    Firefox 3.5.x & Thunderbird 2.0.0.x - Ubuntu 9.04 & 9.10 & Windows XP-SP3
    (1) 2.8 GHz/2Gb/ATI HD2600-512 RAM, SIS AC97 OB Audio (2) 2.9GHz /2Gb/NVIDIA GeForce 7300LE-256 RAM, Intel 82801 OB Audio

    ...Yes, he also uses IrfanView in Ubuntu linux!

  4. #4
    Plugin Author MItaly's Avatar
    Join Date
    Jul 2007
    Location
    Milan, Italy
    Posts
    515
    Version
    IrfanView 4.27
    CPU Cores
    4

    Default

    Quote Originally Posted by emarkay View Post
    Like I said, it's been working basically fine up to now. Is there any way I can assist - is there a version that outputs log files (a debug variant) I can test?
    No, the only logging available (which is disabled by default) is to benchmark some performance-critical code (floodfill code, etc).
    Still, you could try running it under wine with all wine warnings enabled (it impies setting some environment variable to WARN+ALL, IIRC), you may discover some interesting things that way.
    Can you ask Irfan if he's made any changes to the paint interface routine for 4.27 that may offer a clue?
    Yes, I may do it in the next days.
    Let me know if you can - I'll post a note on the Ubuntu and Wine boards - also noting there that IrfanPaint is going FOSS.
    You may also specify that a known hack is relying on the fact that Windows silently ignores GlobalFree of memory allocated via a memory-mapped file (CreateFileMapping+MapViewOfFile). This because IrfanPaint requires memory to be allocated that way (to create a DibSection to work on with GDI methods), while IV on its own would use Globalxxx functions to allocate the memory for the image, so it often tries to deallocate memory allocated by IP with GlobalFree.
    IrfanPaint developer
    The latest stable IrfanPaint version is the 0.4.13.70.
    IrfanPaint is now open-source (released under BSD license).

  5. #5
    IV Beginner
    Join Date
    Jul 2006
    Location
    Indiana, USA
    Posts
    24
    Version
    IrfanView 4.25
    OS
    32-bit Linux Distribution
    CPU Cores
    2

    Default

    See also these appropriate threads - still no furhter info.
    http://forum.winehq.org/viewtopic.php?p=45752
    http://ubuntuforums.org/showthread.php?t=1522705
    Firefox 3.5.x & Thunderbird 2.0.0.x - Ubuntu 9.04 & 9.10 & Windows XP-SP3
    (1) 2.8 GHz/2Gb/ATI HD2600-512 RAM, SIS AC97 OB Audio (2) 2.9GHz /2Gb/NVIDIA GeForce 7300LE-256 RAM, Intel 82801 OB Audio

    ...Yes, he also uses IrfanView in Ubuntu linux!

  6. #6
    Plugin Author MItaly's Avatar
    Join Date
    Jul 2007
    Location
    Milan, Italy
    Posts
    515
    Version
    IrfanView 4.27
    CPU Cores
    4

    Default

    I did some testing, and I noticed that if you draw with tools that draw using GDI, it seems to work fine, but, if you close the plugin or try to use any other IV function that works on the image (Save, rotate, ...), it seems that no painting has been done. *But*, if you use a tool like floodfill (which draws directly on the DIB pixels), everything works fine, and all the changes are "fixed" in the DIB.
    My educated guess on this fact is that Wine for DibSections uses a hybrid approach: it creates a DIB a DDB (which probably is actually an X bitmap); the work performed by the GDI methods is done on the DDB/X bitmap, which is converted to DIB whenever the software tries to write on the DIB bits (I think they use some kind of page protection method to do that).
    So, when IrfanPaint just uses GDI methods to perform his work, the changes are made just on the DDB and aren't mirrored on the DIB, thus causing the problem; instead, when IP also writes directly on the DIB bits, before it does so the changes done to the DDB are automatically mirrored on the DIB, so everything works fine.

    If things are like that, a quick workaround can be created to just make a "fake write" on the DIB to force the update after each tool use. It would be quite a small change and it should solve the problem.

    Still, IMHO, to make such DIB/DDB system to work successfully they should have set the update also on DIB read, maybe creating a "dirty flag" to avoid unnecessary updates.
    IrfanPaint developer
    The latest stable IrfanPaint version is the 0.4.13.70.
    IrfanPaint is now open-source (released under BSD license).

  7. #7
    Plugin Author
    Join Date
    Jun 2007
    Posts
    341
    OS
    Win 7 Professional SP1

    Default

    Quote Originally Posted by MItaly View Post
    If things are like that, a quick workaround can be created to just make a "fake write" on the DIB to force the update after each tool use. It would be quite a small change and it should solve the problem.
    Maybe a call to GdiFlush() does the job.

  8. #8
    Plugin Author MItaly's Avatar
    Join Date
    Jul 2007
    Location
    Milan, Italy
    Posts
    515
    Version
    IrfanView 4.27
    CPU Cores
    4

    Default

    I was going to try it... but then I saw its implementation in wine.
    IrfanPaint developer
    The latest stable IrfanPaint version is the 0.4.13.70.
    IrfanPaint is now open-source (released under BSD license).

  9. #9
    IV Beginner
    Join Date
    Jul 2006
    Location
    Indiana, USA
    Posts
    24
    Version
    IrfanView 4.25
    OS
    32-bit Linux Distribution
    CPU Cores
    2

    Default

    Official WINE bug filed:
    http://bugs.winehq.org/show_bug.cgi?id=23554

    Also, FWIW, in IrfanView 4.27 under Linux, is your "Open" dialog box, on "Detailed" setting, no longer showing anything but the filename; no date, size type, etc?
    Firefox 3.5.x & Thunderbird 2.0.0.x - Ubuntu 9.04 & 9.10 & Windows XP-SP3
    (1) 2.8 GHz/2Gb/ATI HD2600-512 RAM, SIS AC97 OB Audio (2) 2.9GHz /2Gb/NVIDIA GeForce 7300LE-256 RAM, Intel 82801 OB Audio

    ...Yes, he also uses IrfanView in Ubuntu linux!

  10. #10
    IV Beginner
    Join Date
    Jul 2006
    Location
    Indiana, USA
    Posts
    24
    Version
    IrfanView 4.25
    OS
    32-bit Linux Distribution
    CPU Cores
    2

    Default

    Any additional info on this ?
    Firefox 3.5.x & Thunderbird 2.0.0.x - Ubuntu 9.04 & 9.10 & Windows XP-SP3
    (1) 2.8 GHz/2Gb/ATI HD2600-512 RAM, SIS AC97 OB Audio (2) 2.9GHz /2Gb/NVIDIA GeForce 7300LE-256 RAM, Intel 82801 OB Audio

    ...Yes, he also uses IrfanView in Ubuntu linux!

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •