Jump to content

Rick Brewster

Administrator
  • Posts

    20,643
  • Joined

  • Last visited

  • Days Won

    376

Everything posted by Rick Brewster

  1. As usual, there are two ways to get it: 1. Direct download from the website, http://www.getpaint.net/ . There is no need to uninstall your old version; that will be taken care of automatically. 2. Use the built-in auto-updater. You can either wait a few days for the update to be offered to you, or you can go to the Utilities menu and then click on Check for Updates. What's new since v3.5.4: Fixed the bug where saving as 8-bit PNG/GIF/BMP wasn't always working, usually with larger images. Improved the performance of the Gaussian Blur effect by 30-40%. Improved the performance of all the layer blending modes by 15-30%. Improved the performance of zooming with the mouse wheel on dual-core Intel Atom systems. Updated to support .NET 4.0 if no other version of .NET is installed. Reduced download size from 4.8MB down to 3.5MB. Fixed a small error in the Chinese translation. Please note that Service Pack 3 (SP3) is now required for Windows XP users. Also, Service Pack 1 (SP1) is now required for Windows Vista users. If you do not have these installed, then the Paint.NET installer will open the appropriate download page on Microsoft's site.
  2. Ok you say "This line crashes", but please remember that I am not psychic. I need the exception.
  3. Unless you're implementing a structure that contains a union, you shouldn't have to specify LayoutKind.Explicit. You should only need to specify a special Pack value if the C/C++ struct also does. If you copy/paste the C/C++ definition for that struct, I can tell you if your interop definition is correct.
  4. Yes, file type plugins aren't loaded until they are needed -- which isn't until the user requests an Open or Save dialog. Like I said, use the post that talks about debugging your plugin. You will need to look at the InnerException on that, or tell VS to break on any exception and not just unhandled ones.
  5. That's not a regression from previous versions though. Plus, it could be Windows that's displaying it wrong.
  6. I can't understand anything you're saying.
  7. Oh please. I could ban you, then none of your new links would work! Stop being so selfish and self-entitled.
  8. Have you tried static linking to the runtimes? That would get rid of the installation issue completely.
  9. So there's one more fix that'll be going in for the final release, and it's a corner case ... It has to do with .NET runtime version vs. .NET framework versioning. .NET Framework 2.0 through 3.5 SP1 all use the .NET Runtime v2.0, and .NET 4.0 Framework is finally accompanied by a new .NET 4.0 Runtime. As it turns out, if you have .NET 4 installed and then you have any .NET from 2.0 through 3.5 (but not 3.5 SP1!), then the installer will crash. This is because the .exe.config file lets you specify runtime targetting but not framework targetting. Since it specifies .NET runtime 2.0 as the first pick, that's what it'll use when it starts up. Then it'll try using something from 3.5 SP1 and crash. So, for the final release it will still require you to have .NET 3.5 SP1 installed if you have any of .NET 2.0 through 3.5 (non-SP1) installed. Interestingly enough this means the only version of Windows that will let you seamlessly (w/o modifying the .exe.config that is) use .NET 4 is .... tada ... XP SP3 This is because Vista comes with .NET 3.0, but gives you a way to remove it but you will always have .NET 2.0 installed. And Win7 comes with .NET 3.5 SP1 installed but you'll always have .NET 2.0 even if you remove 3.5 SP1. (I'm not actually sure how you can remove 3.0 or 3.5 from these versions of Windows -- I know on Server it's supported, not sure if it is on client though.) Ultimately the .NET 4 support is experimental in nature, and this doesn't block any of the goals I've had with respect to that. Paint.NET v4 is, of course, a completely native .NET v4 app, and so this will all be water under the bridge eventually.
  10. Your P/invokes are definitely defined wrong. You can't name the files VTFlib.dll.[x86/x64]. You need VTFlib.[x86/x64].dll, and then you need to implement appropriate P/Invoke dispatchers ("trampolines"). For example, from Paint.NET: (please excuse the indentation) (the "Processor" class is in PaintDotNet.SystemLayer, and is appropriate for plugins to use in this case) using namespace PaintDotNet.SystemLayer; internal static class PdnNativeMethods { // trampoline method to the "real" p/invokes -- this is the method that outside code uses internal static unsafe void MemCopy(void* dst, void* src, UIntPtr bytes) { if (Processor.Architecture == ProcessorArchitecture.X64) { x64.MemCopy(dst, src, bytes); } else { x86.MemCopy(dst, src, bytes); } } [suppressUnmanagedCodeSecurity] private static class x64 { [DllImport("PaintDotNet.Native.x64.dll", CallingConvention = CallingConvention.Cdecl, SetLastError = false)] internal static extern unsafe void MemSet(void* dst, int c, UIntPtr length); } [suppressUnmanagedCodeSecurity] private static class x86 { [DllImport("PaintDotNet.Native.x86.dll", CallingConvention = CallingConvention.Cdecl, SetLastError = false)] internal static extern unsafe void MemSet(void* dst, int c, UIntPtr length); }
  11. Sarkut, /disableDirectWrite no longer does anything. I removed its functionality, in v3.5.2 if I remember correctly. Make sure you have the Platform Update installed. It should be installed already since Paint.NET is trying to load DirectWrite. However, I would check in Windows Update to be sure.
  12. Set a breakpoint in your IFileTypeFactory constructor.
  13. If you're on Vista, only having .NET 4 installed currently won't work. Vista comes with .NET 3.0, which uses the 2.0 Runtime shared with .NET 3.5 SP1, and that tricks up the version binding at startup. Install .NET 3.5 SP1 and you'll be good to go. I'm looking to fix this for the final release but it may not be possible.
  14. Have you tried reading the big sticky post in here titled "How to debug your plugin" ? ...
  15. Please, read the rules and do not use overly generic thread titles like "Feature Request." It really helps to keep the forum organized, and searchable so that other people can find answers quickly. Thanks. Closed
  16. Yup this is something I thought about a long time ago "Click undo adjust click undo adjust click undo adjust click" is an anti-pattern I'd like to eradicate. I'll be looking into this for v4.
  17. Yes if you have the pdncrash file from the desktop then that will help tremendously. There is 1 known crash in this build but it only seems to happen on Chinese systems. I have fixed it for the final release.
  18. That was uncalled for. If you can't say something nice, don't say anything at all. There's nothing gained by flaming. Maybe you two should get married.
  19. I rather like the idea of using the spacebar for this though.
  20. Yeah that's exactly what I based Oil Painting from.
  21. If there's no answer after several months, then there's not going to be an answer. I'm not required to write up paragraphs of documentation for your sake.
  22. I don't remember the part where I'm required to.
  23. As compared to v3.5.4, yes, just like I've documented before. As compared to previous v3.5.5 betas, no. Code work is done, I'm just doing final testing and any necessary stabilization.
×
×
  • Create New...