PDA

View Full Version : Problem stopping girder with Remote Wonder plugin


philip.sion
October 13th, 2002, 03:55 PM
This topic is the continuation of the one about Remote Wonder plugin "bug"

I still can't have the plugin working, it seems to be dumb, and when I try to exit girder (right click on tray icon then exit girder) I got following messages :

Critical Error : Plugins disable failed

Critical Error : Query unload failed unloading anyway

Critical Error : Plugins disable failed

.......

Program error Girder cause problem in kernel32.dll

And then the program is stopped.

I think that this is linked with the fact that the plugin doesn't work (although it seems to work for others).

Here is my question :

In the Girder plugin source, I saw the following function :

// Girder Plugin Interface
DWORD WINAPI WndThread( LPVOID lpParameter )
{
MSG msg;

// Register the windows class
WNDCLASS wndClass = { 0, WndProc, 0, 0, g_hInstance,
NULL,
LoadCursor( NULL, IDC_ARROW ),
(HBRUSH)GetStockObject(WHITE_BRUSH),
NULL, "ATI Remote Wonder Plugin For Grider Class" };
RegisterClass( &wndClass );

// Create the render window
g_hWnd = CreateWindow( "ATI Remote Wonder Plugin For Grider Class", "ATI Remote Wonder Plugin For Grider Window",
WS_OVERLAPPED,
CW_USEDEFAULT, CW_USEDEFAULT,
100, 100, NULL, NULL,
NULL, 0 );

// MessageBox(0, "griderplugin: created window", "hi", MB_OK );
while( GetMessage( &msg, g_hWnd, 0, 0 ) != 0 )
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}

// MessageBox(0, "griderplugin: exiting thread", "hi", MB_OK );

return 0;
}

I guess this is the "core" of the plugin, creating a windows for receiving messages from the RW plugin and sending them to Girder on and on.

As you can see, the coder left "traces" that show that maybe once the windows creation was not always successful.

So : is it the normal way to proceed ? can this explain the bug when exiting ? how to solve this and make the plugin work ?

If one of you has any idea...

Philip - A poor "half-user" of Girder ;-)

Ron
October 13th, 2002, 03:55 PM
Can't seen anything wrong with the code. Though I have no way to debug it. Maybe someone else with a RW.

philip.sion
October 13th, 2002, 03:55 PM
Installed the 11b version.

Unfortunately, nor the Girder exit bug, nor the fact that the Girder plugin seems to be dumb are solved...

When I try to stop girder, after a while I get a "Query unload failed unloading anyway" and after a while again "Unload plugins failed" this time its clear...

Jason, could I have the version with the debug on ? you know the messaboxes, like this I could report where the problems lays...

Thanks for the help.

I hope that I am not the only one in this situation and that solving my problem will be not only useful for me.

Philip.

NB : I will install VC++ 6.0 in order to look after this famous "ATI Remote Wonder Plugin For Grider Class" window.

NB : Oh yes, its it not GRider but GiRder :wink:

philip.sion
October 13th, 2002, 03:55 PM
Just another thing : I do not have this stopping problem on W2K @ work

evilmind
October 13th, 2002, 03:55 PM
just my 2 cents - i have exactly the same problem as philip.sion

philip.sion
October 13th, 2002, 03:55 PM
So why not trying my plugin ?

Here's the lastest Beta before the configurable version.

(For help use one in previous release)

Please send me comments.

Philip.

Crono
October 13th, 2002, 03:55 PM
i've found that ksnoopy's plugin works perfectly on winxp but not 98... maybe a misplaced compilation option, i don't know. I don't have VC, but you should try to recompile it with yours, cause that plugin is far better than anything else, once you have it working

baily
March 19th, 2003, 12:30 PM
I also have this problem in Windows 98SE, except that I don't get the crash.

I get the same 3 error messages. Then girder finally exits, but it takes several minutes. It must be a problem with the plugin.
This persists in girder 2.9pre1.

An additional annoying side effect, is that if I enter suspend mode with girder running, my computer doesn't seem to recover.

I'm willing to try recompiling if the source code for the plugin is available somewhere. Or if there is anything else I can do to help debug/fix this.

I really like this plug-in, except for this one problem.

Terminating girder is the only resonable way to exit with this plugin loaded.
If you use toggle inputs, it doesn't solve the problem.
Also reenabling the inputs does not work after attempting to disable them.

Once girder has been closed, there are no problems with reloading it and using it.

Maybe the unload function is not implemented? or is implemented incorrectly?

I don't have any problems using ATI's remote control software, but it isn't very useful.

Mark F
March 19th, 2003, 02:03 PM
The source was included in the plugin .zip (http://www.girder.nl/downloadn.php?Link=370) file.

Take a look at the gir_close() routine and the size of the wait it uses (infinite) when the thread should exit. I don't know why the thread isn't exiting and signaling the thread handle but I believe could be the problem.

Good luck. :)

baily
March 19th, 2003, 04:30 PM
I was refering to the other plugin X10_remote.zip
I didn't try the plugin you were refering too, but with only ATI's remote wonder software running, I can't resume from standby mode. I'm guessing that X10net.dll doesn't know handle power management properly. I was hoping to just disable it first, then reenable.
Can girder recognize powermanagement commands (or have a sendmessage EVENT plugin)?

Anyway I want to keep using all the buttons. That way TV can turn on my amplifier, and select the correct input as well as starting MMC.
Also I can have DVD select the correct input on the amplifier, change the screen resolution, start the DXR3 DVD software (that can actually use spdif sound output with out problems in nearly every movie), etc.
I've replaced 4 remotes with this one, not counting computer control. So I need to conserve the mode based butttons.

Mark F
March 19th, 2003, 04:49 PM
I think I was confused because this entire thread is about ksnoopy's version. :)

Have you tried sending the author E-Mail at his Northwestern address (in the readme)?

Girder recognizes power management commands and generates events when it sees them. To learn one of these events to a command (or multigroup) highlight the command, set the dropdown box next to the learn button to Girder Event and press the learn button. Choose the event you wish to use as th etrigger from th etop drop down on the new dialog and press select.

sirandar
December 28th, 2003, 05:20 PM
I have the same problem and it drives me crazy. The actual problem is with the remote wonder driver and ACPI. Any ACPI event (Hibernate, switch to battery...) will corrupt the RW driver and cause a problem unloading any software associated with it.

This problem has nothing to do with Girder. Girder, uICE and even the software supplied by ATI all have exactly the same problem. Even ATI can't release a driver/software that deals with ACPI properly.

Perhaps ATIs new remote wonder II will work properly with ACPI events....

Glenn Soltes