Bug Report - QuickGUI SVN (BUMP)

Chaster

29-01-2008 05:19:57

*BUMP* Sorry to bump this up, but just wondering if KFM saw my new bugs listed on the last post of this thread...

Chaster
--------------------

Hello Gang,

I just updated to the latest QuickGUI in SVN and immediately ran into the following problems:

1) QuickGUI throws an exception IF I don't erase the automatically generated skinset files (skinset.qgui.png & qgui.skinset).

The error is as follows:

21:11:10: WARNING: Texture instance 'ProgressBar1.bar.temp' was defined as manually loaded, but no manual loader was provided. This Resource will be lost if it has to be reloaded.
21:11:10: OGRE EXCEPTION(3:RenderingAPIException): D3DXLoadSurfaceFromMemory failed in D3D9HardwarePixelBuffer::blitFromMemory at ..\src\OgreD3D9HardwarePixelBuffer.cpp (line 365)

Note that I am just creating a progressbar using sheet->CreateProgressBar() <- no name.

If I delete the generated skinset files, the program runs fine.

2) I made some images to use as "tags" for some game elements. My intention was to have the tag know when a mouse cursor passed over it. I used sheet->CreateImage() and then added callbacks for mouse events MOUS_EVENT_ENTER, and MOUS_EVENT_LEAVE. They work, BUT they only work when the mouse is over the bottom right quarter of the image. (!?). My images are 32x32 pixels... They used to work fine before I updated to the latest SVN.

3) in the QuickGUI demo, when I pass the mouse over certain parts of textboxes (er, maybe it's just windows with text in them) I get a large portion of the texture atlas texture on screen, and it moves with the mouse. I am unsure if this is something screwy on my end (perhaps I need to blow away some old textures?) or something in QuickGUI. I suspect it is just something "left over" from before I did the SVN update..

By the way, I am using Shoggoth (i.e. Ogre CVS)..

Chaster

kungfoomasta

29-01-2008 07:12:54

Hey Chaster, thanks for the input.

1. I'm seeing the same thing, trying to figure out what changed to cause it! It seems that simply having the ProgressBar created causes the crash, an error from blitting. I haven't changed anything in the ProgressBar code, so its some indirect code that must be the cause. Hope to figure that out soon..

2. Can you call setUseTransparencyPicking(false) on the images and see if the mouse enter/leave works correctly? I updated the code for transparency picking and its not working properly..

3. I believe the mouse cursor is trying to turn into the Text Cursor, or Resize arrows. Make sure you have defined images in your skin for these cursor states.

kungfoomasta

29-01-2008 07:26:39

I fixed it. I also committed a lot of new code, let me know if you haven't solved all your issues.

Chaster

29-01-2008 16:47:13

KFM, you are the man. I will check those fixes right now.

Okay, here's the results:

1) no more crash from having those files pre-existing. yay!
2) transparency picking mouse enter/leave still broken it seems... doh.
3) Now I'm getting black bars along the right & bottom side of my images. This happens even if I delete the skinset png to force them to be re-generated. Looks like some sort of UV error maybe...? Or maybe it's trying to make scroll bars on the image?

Haven't tested the mouse text box thing... I'll try that later..

EDIT: If I use setUseTransparencyPicking(false), the picking works as expected (of course, without transparency filtering of the picking).

Hope that helps!

Chaster

Chaster

31-01-2008 16:47:51

*BUMP*... Just wanted to make sure that KFM saw my "new" bugs... (see previous post in this thread)...

Chaster

kungfoomasta

31-01-2008 16:58:44

Yah, I need to fix the transparency issue when I get a chance, it will take some effort to debug.

The black bars are expected, I made a black border for the Image widget a while back. They were for the previous Image of QuickGUI Logo, so they would look really odd with the new one. It could be that I forgot to delete those images, they shouldn't be in the SkinSet.

Basically whenever you call "setSkin", the widgets borders will be created or changed, if skin exists for them. If you call setUseBorders(false), borders will not be created, or if already existing, will be destroyed. Any skin components that have ".border.top", ".border.topright", etc, can result in borders being created.

Another tidbit that should be put in the wiki before next release.

Chaster

01-02-2008 16:55:08

Ah, I see. Okay, thanks very much KFM. =)