JPEXS Free Flash Decompiler Issue Tracker

If you are looking for the decompiler itself, visit https://github.com/jindrapetrik/jpexs-decompiler

NEW : We have got a new blog where we post some interesting SWF internals info.

List of issuesList of issues

#201 Main window never shows on Linux because of call to Advapi32Util.registryKeyExists
Author: user greghnz
Date created:
Type: bug
Visibility: Everybody
Assigned to:
Labels: GUILinux
State: closed Help

> What steps will reproduce the problem? Start ffdec on Linux operating system (e.g. via ffdec.sh) EITHER: - Speficy a flash file on the command line, or - Use 'Open Local file' and select a flash file (any .swf AFAICT) WAIT Loading Please Wait + progress bar shows for processing the SWF Window shows "Creating Window" with circular throbber, but does not progress, and does not open main window. (details of fix below). > What is the expected output? What do you see instead? Expected: Main window with tree for SWF expected to open Instead: Progress window remains without any change. > What version of the product are you using? On what operating system? Anything after 1.6.3u2 --> Specfically anything after Mercurial revision # 659 > Please provide any additional information below. Attach the file you have problem with if neccessary. If you do not want to publish files YOU CAN CHANGE VISIBILITY TO PRIVATE The issue is caused by the call to Advapi32Util.registryKeyExists() in the Main.isAssociated() method. The call to this method never returns on Linux Because isAssociated() is only useful on a Windows platform, the fix to bypass this is simple. In Main.isAssociated() add this at the start: if (!Platform.isWindows()) { return false; } This prevents the calls to registryKeyExists() (and says it's not associated which is true, but not really of value). In the constructor of MainFrame, where isAssociated() is called, move the check for windows platform to before creating the MenuItem, rather than before adding it to the menu: FROM: miAssociate = new JCheckBoxMenuItem("Add FFDec to SWF files context menu"); miAssociate.setActionCommand("ASSOCIATE"); miAssociate.addActionListener(this); miAssociate.setState(isAssociated()); if (Platform.isWindows()) { menuSettings.add(miAssociate); } TO: if (Platform.isWindows()) { miAssociate = new JCheckBoxMenuItem("Add FFDec to SWF files context menu"); miAssociate.setActionCommand("ASSOCIATE"); miAssociate.addActionListener(this); miAssociate.setState(isAssociated()); menuSettings.add(miAssociate); } Which both prevents the call to isAssociated () and prevents the user from seeing it, and attempting to associate ffdec with swf files.
admin
Yes, I know, that's why there is note "LINUX / MACOS USERS: Current version has bug which causes FFDec not working on Linux/Mac OS, please download older version (1.6.3u2)" on the download page.
State: new→opened
user
Oh cool. Want a mercurial patch?
admin
It will be fixed in next release. I want to pack more changes(see opened issues) to the release so stay tuned...
user
Awesome. Thanks heaps for this app.
admin
version 1.6.5 was released. This should be fixed, try it.
State: opened→upgraded
user
Works! Thanks. :)
admin
State: upgraded→closed