Professional UI Solutions
Site Map   /  Register
 
 

Forum

Please Log In to post a new message or reply to an existing one. If you are not registered, please register.

NOTE: Some forums may be read-only if you are not currently subscribed to our technical support services.

Forums » Prof-UIS Tech Support » Shadowed menus bug? Collapse All
Subject Author Date
Emil Pop Jan 9, 2004 - 8:04 AM

Hi,


I experience the following problem:


Whenever shadowed menus (CExtPopupMenuWnd::g_bMenuWithShadows = true;) are used in Prof-UIS samples, on some platforms, the menu shadow covers the actual menu. The menu shadow contains a snapshot of the upper left corner of my screen.


The pop-up menu is being refreshed only if I hover the mouse over an enabled item of the window. If the pop-up menu contains only disabled items, it will not be refreshed, no matter whether I hover the mouse or not.


If I use CExtPopupMenuWnd::g_bMenuWithShadows = false; (the way GLViews project demonstrates) everything seems to be fine.


I can provide you with some snapshots if you want to. I would really appreciate your help.


Thanks,


Emil


PS

Technical Support Jan 12, 2004 - 3:31 AM

Dear Emil,

Please send us a screenshot with the distorted shadow and give us more information on which platforms such misbehavior takes place, so that we can find and fix the bug in the shortest time possible.

Emil Pop Jan 12, 2004 - 11:53 AM

Hi,


I’ve e-mailed you the snapshots. For the record,


- the menus seem to be displayed properly for an instant but they are immediately overwritten by the "shadow" (e.g., the snapshot of the upper-left corner)

- the platform used is a Win2K server with Service Pack 4 Build 2195; the only peculiar thing is that my customer uses a dual processor machine.

- I built the samples using MS VC 7.1 Build 3088.

 

Emil

Alexander Bodnarchuk Jan 13, 2004 - 4:44 AM

Dear Emil,

We tested all our samples on Windows 2000 Server SP4 installed on Dual Xeon 2.4(+HyperThreading). No problems have been found yet. We sent you an updated version of the GLViews sample. Please test it out on your machine. If the problem persists, send us extra information described in the e-mail.

Emil Pop Jan 14, 2004 - 6:01 AM

Hi,


I got your sample but it still has the bad behaviour on my custumer’s machine. It works well on mine though. It looks like the snapshot is not actually the shadow: the menu is properly rendered (including the shadow!); the snapshot of the upper left corner of the screen occurs a few moments later and covers the menu.


However, if one looks carefully on the samples I sent you guys, the snapshot is not exactly as big as the shadow!


I am using PROFUIS223md.dll.


Emil


PS


Sent also an e-mail.

Technical Support Jan 15, 2004 - 3:30 AM

Dear Emil,

Would you try and run the SDI sample application (comes with the library) whose client area contains an image with the very same shadow as in the menu? We wonder whether the the snapshot of the upper left corner of the screen will appear over this image.

Emil Pop Jan 15, 2004 - 7:19 AM

Hi,


I am not really sure what are you asking for. Nevertheless I’ll e-mail you the snapshots with SDI. Please note the first and the last menu do not get overriden (they contain just one menu item).


I am not really a GUI person (this is why I bought ProfUIS!) but I was wondering: what if the order in the Z-buffer used in CExtPopupMenuWnd.cpp to render the menu is random? I am talking about SendWindowPos() call at line 6662 and the menu is placed inadvertently under the desktop.


Thanks,


Emil


 

Technical Support Jan 16, 2004 - 11:39 AM

Dear Emil,

It seems that the problem is not related to the popup menu window at all. It is the code responsible for painting the compound shadow that probably produces invalid images. You can make sure of this yourself if you pay attention to the image which is drawn in the application’s client area of the SDI sample:



The compound shadow both for this image and for the menu is drawn with the same algorithm. Nevertheles, even if we look at the screenshots with the correctly rendered menu (in the SDI sample application running on the dual machine in question) that you sent to us, we can see that the images with rectangulars in the client area are drawn incorrectly.

To find the cause, we try and code a test application, which we will send to you.

Emil Pop Jan 21, 2004 - 7:30 PM

Hi,
Thank you for the testing program you sent. After running it for an hour, the results were random: for rough screen resolutions "Use buffer painting" option worked well but all other combinations generated wrong shadows. However after increasing the resolution to 1280x1024 pixels, I couldn’t get a good behaviour with any combination of options. Switching back to rough resolutions didn’t improve the situation to the initial performance.


The machine has an NVidia card TNT2 Model 64 with 32M of RAM; the latest version of the driver is also installed.


I fixed though the problem by updating Intel’s AGP2PCI driver that monitors the bridge between the video card and the main bus. It was almost two years old.
Guys, I apologize for driving you nuts with this issue but I couldn’t figure out faster such an obscure cause and my client was pressing me. I really appreciate your help that was prompt and professional.
Regards,


Emil



PS


On a side note, Visual Studio .NET installed on the buggy machine didn’t exhibit the shadow problem!


I used Hypercam to take movie snapshots of your testing program and I discovered that all the movies were displaying the upper left corner of the desktop. That was the thing that convinced me that there must be something wrong with the video card.