Page 1 of 1

Client issue

Posted: Thu Oct 04, 2007 7:18 pm
by scribblesm
When using the RSW client after right clicking to open the order menu sometimes I am then unable to open any more windows by right clicking. It acts like the menu is hidden behind the game window.

However when this happens it applies to all right click context menus. I am unable to minimize, close the client etc.

Before long I cant seem to access any windows program correctly (start menu only opens part way for example, other drop down windows don't open at all)

I've had this happen more than once and only when using the client (tends to happen when I'm checking orders before a submittal)

Anyone else seen this? Hope that makes some sense. I'll pay attention more next time to see if I can get the exact sequence that caused it.

Posted: Fri Oct 05, 2007 6:27 am
by drwr
I have had one other user report this issue, but I have never been able to reproduce it myself; and the user who reported it now tells me it seems to have gone away.

Vexing. I'll consider the issue still open, and continue trying to research it. In the meantime, any additional information you can figure out would be helpful.

David

Posted: Fri Oct 12, 2007 12:11 am
by scribblesm
Cool at least I'm not crazy!

This time right click stopped working so I closed it down quick It popped up and error log message. log is posted below. Hope it helps.


Traceback (most recent call last):
File "rsw\client\ListTable.pyc", line 482, in __itemRightClick
File "rsw\client\FleetList.pyc", line 143, in rightClickRow
File "rsw\client\ClientFleet.pyc", line 623, in popupOrders
File "rsw\client\ClientFleet.pyc", line 545, in addMoveOrders
File "rsw\client\ClientWorld.pyc", line 1298, in addMoveOrders
File "rsw\client\ClientWorld.pyc", line 1967, in __menuMove
File "rsw\client\ClientWorld.pyc", line 2006, in __continueMove
File "rsw\client\ClientWorld.pyc", line 2008, in __continueMove
File "wx\_core.pyc", line 10650, in AppendMenu
wx._core.PyAssertionError: C++ assertion "submenu->GetHMenu()" failed at ..\..\src\msw\menu.cpp(375) in wxMenu::DoInsertOrAppend(): invalid submenu
Traceback (most recent call last):
File "rsw\client\ListTable.pyc", line 482, in __itemRightClick
File "rsw\client\FleetList.pyc", line 143, in rightClickRow
File "rsw\client\ClientFleet.pyc", line 610, in popupOrders
File "rsw\client\ClientFleet.pyc", line 285, in addTransferOrders
File "rsw\client\ClientWorld.pyc", line 967, in addTransferOrders
File "rsw\client\ClientWorld.pyc", line 1630, in __menuTransferA
File "wx\_core.pyc", line 10650, in AppendMenu
wx._core.PyAssertionError: C++ assertion "submenu->GetHMenu()" failed at ..\..\src\msw\menu.cpp(375) in wxMenu::DoInsertOrAppend(): invalid submenu
Traceback (most recent call last):
File "rsw\client\ListTable.pyc", line 482, in __itemRightClick
File "rsw\client\FleetList.pyc", line 143, in rightClickRow
File "rsw\client\ClientFleet.pyc", line 610, in popupOrders
File "rsw\client\ClientFleet.pyc", line 285, in addTransferOrders
File "rsw\client\ClientWorld.pyc", line 967, in addTransferOrders
File "rsw\client\ClientWorld.pyc", line 1630, in __menuTransferA
File "wx\_core.pyc", line 10650, in AppendMenu
wx._core.PyAssertionError: C++ assertion "submenu->GetHMenu()" failed at ..\..\src\msw\menu.cpp(375) in wxMenu::DoInsertOrAppend(): invalid submenu
Traceback (most recent call last):
File "rsw\client\ListTable.pyc", line 482, in __itemRightClick
File "rsw\client\FleetList.pyc", line 143, in rightClickRow
File "rsw\client\ClientFleet.pyc", line 610, in popupOrders
File "rsw\client\ClientFleet.pyc", line 285, in addTransferOrders
File "rsw\client\ClientWorld.pyc", line 967, in addTransferOrders
File "rsw\client\ClientWorld.pyc", line 1630, in __menuTransferA
File "wx\_core.pyc", line 10650, in AppendMenu
wx._core.PyAssertionError: C++ assertion "submenu->GetHMenu()" failed at ..\..\src\msw\menu.cpp(375) in wxMenu::DoInsertOrAppend(): invalid submenu

Posted: Fri Nov 09, 2007 12:07 pm
by drwr
I finally fixed this bug! I tracked it down to a leak of Windows system handles. Turns out that under wxPython, windows and menus are not reference-counted in the way you would expect, and must be explicitly Destroyed when they're no longer needed, or they will leak. When you have eventually leaked all of the available system handles, bad things start to happen.

The fix to this will be in RSW Client version 0.96.

David