Author Topic: wxPropGrid crash!  (Read 6310 times)

Offline Loaden

  • Lives here!
  • ****
  • Posts: 1014
wxPropGrid crash!
« on: November 13, 2010, 02:18:43 pm »
This crash can reproduce.
step 1: Create a wxWidgets project with frame based, and using wxSmith.
step 2: Resources > wxFrame > Style, hit the "+" icon, and choice any option, like "wxCAPTION", e.g.
step 3: Close project
step 4: CB crash!

I'm testing CB 10.05 and not have this issue.
And testing wxSmith r6700, or wxPropGrid r6345, both have this issue.
If disable CC plugin, the crash still existed.

I can't find the reason, and can't to fixed.

It's seems happen when move wxPropGrid into SDK?? I am not sure... :?

Offline Loaden

  • Lives here!
  • ****
  • Posts: 1014
Re: wxPropGrid crash!
« Reply #1 on: November 13, 2010, 02:23:32 pm »
I am testing on Windows XP and ArchLinux.
The crash can occured to any OS.

Offline Jenna

  • Administrator
  • Lives here!
  • *****
  • Posts: 7255
Re: wxPropGrid crash!
« Reply #2 on: November 13, 2010, 03:06:11 pm »
That attached patch should fix the issue (at least on linux).
It's just a quick hack (and I am not really happy with it) and it's not tested on windows.

Can you test it there please ?

We could also completely remove the calls to Freeze and Thaw in wxsPropertyGridManager::UnbindPropertyContainer, but I don't know if it has visual side-effects.

Offline xunxun

  • Almost regular
  • **
  • Posts: 187
Re: wxPropGrid crash!
« Reply #3 on: November 13, 2010, 03:47:04 pm »
I test the patch on Win7 64bit. That seems it works well.
Regards,
xunxun

Offline Loaden

  • Lives here!
  • ****
  • Posts: 1014
Re: wxPropGrid crash!
« Reply #4 on: November 13, 2010, 04:17:48 pm »
Can you test it there please ?
You are a hero! :D
I'm tested on Windows XP and ArchLinux, the issue was gone!
Thanks a lot!

Offline Jenna

  • Administrator
  • Lives here!
  • *****
  • Posts: 7255
Re: wxPropGrid crash!
« Reply #5 on: November 14, 2010, 10:29:30 am »
I committed the fix to trunk (svn r 6847).
It's better to have this (not so nice code), than to have C::B crash sometimes.