INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: Vanishing Controls - Definately an MJ Bug  (Read 2033 times)

RhinoBanga

  • Citizen of the Universe
  • *****
  • Posts: 1703
  • Developer
Vanishing Controls - Definately an MJ Bug
« on: October 06, 2002, 04:40:11 am »

Here's how to reproduce:

1.  Fire up MJ and switch in a skin, e.g. Z

2.  Exit MJ and open the MJ BusyBox VB sample

3.  Add MS Windows Common Controls 6.0 components to the project.

4.  Open the main form

5.  Paste on a ListView, set to report mode and add a column

6.  Compile and fire up MJ

7.  Go to the BusyBox sample and set the focus to the listview (e.g. just click in it)

8.  Now click on the Windows start menu item on the taskbar.


Notice how the whole ListView control has been zapped.


A big skinning issue for plugin developers :(
Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 41969
  • Shoes gone again!
Re: Vanishing Controls - Definately an MJ Bug
« Reply #1 on: October 06, 2002, 08:45:22 am »

Thanks for the details Rhino.  We'll have a look...
Logged
Matt Ashland, JRiver Media Center

RhinoBanga

  • Citizen of the Universe
  • *****
  • Posts: 1703
  • Developer
Re: Vanishing Controls - Definately an MJ Bug
« Reply #2 on: October 07, 2002, 10:49:49 pm »

Matt,

Any news on this and the issue where MJ looses focus when you play a track?
Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 41969
  • Shoes gone again!
Re: Vanishing Controls - Definately an MJ Bug
« Reply #3 on: October 08, 2002, 08:31:04 am »

Gimme a day or two, because I need to get the player working again.  Then I'll dig around with the skinning.

Thanks Rhino.
Logged
Matt Ashland, JRiver Media Center

RhinoBanga

  • Citizen of the Universe
  • *****
  • Posts: 1703
  • Developer
Re: Vanishing Controls - Definately an MJ Bug
« Reply #4 on: October 08, 2002, 08:33:22 am »

OK dude.


Another skinning issue to add to the list.

The header control doesn't support bitmaps.

I am using indicator graphics to show the current sort sequence.   With skinning enabled they are not being drawn.
Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 41969
  • Shoes gone again!
Re: Vanishing Controls - Definately an MJ Bug
« Reply #5 on: October 08, 2002, 09:16:49 am »

The header bitmap one is tricky.  We can't figure out how to get a valid HBITMAP from the header control, even though we have the HWND of it -- it always gives us garbage.  We'll have another look though.
Logged
Matt Ashland, JRiver Media Center

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 41969
  • Shoes gone again!
Re: Vanishing Controls - Definately an MJ Bug
« Reply #6 on: October 11, 2002, 05:34:00 am »

Found the zapping problem.  It'll be fixed next build.

Guess VB doesn't repaint right if you do a RedrawWindow(...) on it without the RDW_UPDATENOW and RDW_ERASENOW flags set...
Logged
Matt Ashland, JRiver Media Center

RhinoBanga

  • Citizen of the Universe
  • *****
  • Posts: 1703
  • Developer
Re: Vanishing Controls - Definately an MJ Bug
« Reply #7 on: October 11, 2002, 05:41:38 am »

Thanks Matt,

I'll try in AV2 (which is C++) to see if it fixes the issue there as well.
Logged

RhinoBanga

  • Citizen of the Universe
  • *****
  • Posts: 1703
  • Developer
Re: Vanishing Controls - Definately an MJ Bug
« Reply #8 on: October 11, 2002, 11:22:37 am »

Hi Matt,

It sorts of fixes it with the exception that the whole screen flickers really badly when the focus moves from MJ to the taskbar and back again.
Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 41969
  • Shoes gone again!
Re: Vanishing Controls - Definately an MJ Bug
« Reply #9 on: October 11, 2002, 08:35:17 pm »

When the app loses focus, we force a redraw for the whole window.

I wasn't sure why, but I'm sure we coded it for a reason.  Was probably for Win9x or something.

If it's a huge deal, we'll try removing it in version 9.

However, a redraw shouldn't really cause a flicker if you futz with it enough.  Make sure you're killing WM_ERASEBKGND where possible and clipping children.  Also, buffering any DC painting helps a ton.
Logged
Matt Ashland, JRiver Media Center

RhinoBanga

  • Citizen of the Universe
  • *****
  • Posts: 1703
  • Developer
Re: Vanishing Controls - Definately an MJ Bug
« Reply #10 on: October 11, 2002, 11:58:29 pm »

Hi Matt,

In AV I am already using DC double buffering trapping WM_ERASEBKGND.

To see how bad it is load up your SleepTimer C++ sample, maximize MJ and switch focus.   As you can see that is a lot of flashing white :(

I tried to eliminate the background painting in there by trapping WM_ERASEBKGND in both CSleepTimerCtrl and CStaticCounter but it didn't make any difference.

So I checked with Spy++ I noticed that when a plugin becomes active it's parent changes to a window who's class name is AfxFrameOrView42s.   Does that window trap WM_ERASEBKGND?

Logged
Pages: [1]   Go Up