powered by Jive Software

BUG: Windows 7 + flashing

When testing Spark under 64-bit Windows 7 we have noticed that the taskbar flashing functionality does not function. This occurs with 2.5.8, 2.6.0 Beta 2, and 2.6.0 RC1 SVN (10/27).

Flashing issue is a long standing and actually driving me nuts. I have reopened SPARK-1124 dozen times and probably will have to do this again as the latest build has stopped flashing for me again on Windows XP 32-bit. This can be the same issue with Win7.

This may need to go in a new issue as it is specific to 64bit and the environment on that incident is currently set to Windows XP which (except in rare cases) is 32bit.

The error message I get in the log file is complaining that the flashwindow.dll file that is included is 32 bit. I noticed that there are two folders in the library, one for windows and one for windows64 that includes the 32 and 64 bit version of civil.dll. The same kind of work will need to be done for flashwindow.dll, but I don’t know where this dll came from, or if the source is available.

From Logs on Build 12026:

Feb 25, 2011 10:54:25 AM org.jivesoftware.spark.util.log.Log error

SEVERE:

``

java.lang.UnsatisfiedLinkError: C:\Users\username\AppData\Roaming\Spark\plugins\flashing\lib\FlashWindow.dll: Can’t load IA 32-bit .dll on a AMD 64-bit platform

at java.lang.ClassLoader$NativeLibrary.load(Native Method)

at java.lang.ClassLoader.loadLibrary0(Unknown Source)

at java.lang.ClassLoader.loadLibrary(Unknown Source)

at java.lang.Runtime.load0(Unknown Source)

at java.lang.System.load(Unknown Source)

at org.jivesoftware.spark.plugin.flashing.FlashWindow.(FlashWindow.java:38 )

at org.jivesoftware.spark.plugin.flashing.FlashingHandler.(FlashingHandler.j ava:33)

at org.jivesoftware.spark.plugin.flashing.FlashingPlugin.initialize(FlashingPlugin .java:36)

at org.jivesoftware.spark.PluginManager$2.run(PluginManager.java:508)

at java.awt.event.InvocationEvent.dispatch(Unknown Source)

at java.awt.EventQueue.dispatchEventImpl(Unknown Source)

at java.awt.EventQueue.access$000(Unknown Source)

at java.awt.EventQueue$1.run(Unknown Source)

at java.awt.EventQueue$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)

at java.awt.EventQueue.dispatchEvent(Unknown Source)

at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.run(Unknown Source)

if I recall correctly i believe cstux mentioning something to the effect of libraries needing to be compiled for both 32bit and 64bit OS’s

the source for the FlashWindow.dll file is packed inside of spark, src/plugins/window/src/c

There is a build script for cygwin users in that directory.

I have filed this as SPARK-1220

Thank you for the info. I have compiled the 64bit version in MS Visual Studio 2010. I replaced the current one and sure enough that took care of it. Flashing is working once again on 64bit for me, but I have not tested this on any other machines so don’t blaim me if it doesn’t work!

I posted the file I am using here: FlashWindow.dll

Considering that Windows 7 64-bit is becoming commonly used this bug seems like it should be given higher priority.

http://lti-civil.org/download.php

Seems like all that needs to be done is the source downloaded and compiled for x64 instead of IA-64 and then distributed in the next Spark release. No?

Did my solution not work? The dll is compiled in 64 bit mode and runs great on my Win7 x64 machine.

Sorry, I was not clear. Your x64 compiled version of Flashwindow.dll seems to work fine. The problem is that I’m also getting the “Can’t load IA 32-bit .dll on a AMD 64-bit platform” error with civil.dll.

I’m not as familiar with civil.dll, but there seems to be a 32bit and 64 bit version in the source code. I had some trouble with this initially because the installer I used needed to be editied to include the windows64 libraries. Can you check to see if lib\windows64 exists in your program directory and that the 64bit civil.dll file is there?

Here is my Inno Setup file I am using now as an example:

Customized spark.iss file for Inno Setup

I can’t get to the FlashWindow.dll for 64bit.