From: Gregory S. <wo...@tr...> - 2007-11-15 15:43:08
|
I compiled another shapefusion.exe last night, and tried it in Wine; it starts up as before, but also as before, segfaults upon opening a Shapes file. It's sad, I was hoping the multi-document re-write would have just fixed that :( Gregory |
From: Tito D. C. <ti...@da...> - 2007-11-16 18:32:57
|
On Thu, 2007-11-15 at 10:42 -0500, Gregory Smith wrote: > I compiled another shapefusion.exe last night, and tried it in Wine; it > starts up as before, but also as before, segfaults upon opening a Shapes > file. Very interesting indeed. Can you tell me a bit more about where the program crashes? Shapes loading code should be robust now. > It's sad, I was hoping the multi-document re-write would have just fixed > that :( But I think you were already using the multi-document version at the time. Thanks Tito -- Physics is reverse engineering |
From: Gregory S. <wo...@tr...> - 2007-11-17 05:13:24
Attachments:
shapefusion-windows.diff
|
Success! Here's a screenie of some hunters in Vista: http://www.treellama.org/alephone/shapefusion.png There's a diff attached that initializes f_view a bit earlier, because Windows events seem to come up sooner. And here's the .exe I built from r105, with said patch applied: http://www.treellama.org/alephone/shapefusion.zip Tested in Wine and Vista (by me) and Windows XP (by RyokoTK from IRC). Would you like to package that up and put it on SourceForge? Let me know if you do because people ask about shapes editors for windows *all the time* :) |
From: Tito D. C. <ti...@da...> - 2007-11-17 12:43:45
|
On Sat, 2007-11-17 at 00:13 -0500, Gregory Smith wrote: > Success! > > Here's a screenie of some hunters in Vista: > http://www.treellama.org/alephone/shapefusion.png Great job! > There's a diff attached that initializes f_view a bit earlier, because > Windows events seem to come up sooner. ...and that's just a bug in FrameView. IMO it gets an early event and messes with NULL pointers without checking. I have committed your fix, but I'll revert to the old version and rather fix FrameView someday. Thanks. > And here's the .exe I built from r105, with said patch applied: > http://www.treellama.org/alephone/shapefusion.zip > > Tested in Wine and Vista (by me) and Windows XP (by RyokoTK from IRC). > > Would you like to package that up and put it on SourceForge? Let me > know if you do because people ask about shapes editors for windows > *all the time* :) Definitely. Is it already statically linked to wx? I'm unsure whether to put it along ShapeFusion 0.4, because if you started from CVS it has already some new feature with respect to 0.4. Maybe I'll decide to speed up work and release 0.5 very soon. Bye Tito -- Physics is reverse engineering |
From: Gregory S. <wo...@tr...> - 2007-11-17 13:26:48
|
On 11/17/07, Tito Dal Canton <ti...@da...> wrote: > ...and that's just a bug in FrameView. IMO it gets an early event and > messes with NULL pointers without checking. I have committed your fix, > but I'll revert to the old version and rather fix FrameView someday. That's exactly what happens. Putting f_view(0) in the constructor, and adding "if (!f_view) return;" in stuff like BitmapIndexSlider was what allowed me to get it working in Wine. But then a different event came in early on Windows and killed it, so rather than putting those everywhere I took the lazy approach and made sure f_view was valid before adding any widgets :) > Definitely. Is it already statically linked to wx? I'm unsure whether to > put it along ShapeFusion 0.4, because if you started from CVS it has > already some new feature with respect to 0.4. Maybe I'll decide to speed > up work and release 0.5 very soon. It's an all-in-one exe, static linked against wx. To build, I simply cross-compiled with the existing Makefile, then renamed shapefusion to shapefusion.exe, and ran strip -S on it to make it not 17 MB. I'll hold off telling anybody to get a copy from my site, except for RyokoTK who already has it, until you're ready to put it on SourceForge. BTW, sound playback even works :) Gregory |
From: Tito D. C. <ti...@da...> - 2007-11-17 18:22:16
|
On Sat, 2007-11-17 at 08:26 -0500, Gregory Smith wrote: > That's exactly what happens. Putting f_view(0) in the constructor, and > adding "if (!f_view) return;" in stuff like BitmapIndexSlider was what > allowed me to get it working in Wine. But then a different event came > in early on Windows and killed it, so rather than putting those > everywhere I took the lazy approach and made sure f_view was valid > before adding any widgets :) Could you try the latest CVS? I put things back and added a missing check for NULL stuff in FrameView. If this works, it's more correct than before. > I'll hold off telling anybody to get a copy from my site, except for > RyokoTK who already has it, until you're ready to put it on > SourceForge. I plan to do so with 0.5, if you can still provide the binary. > BTW, sound playback even works :) Wx coolness, I guess. Tito -- Physics is reverse engineering |
From: Gregory S. <wo...@tr...> - 2007-11-17 18:42:14
|
On 11/17/07, Tito Dal Canton <ti...@da...> wrote: > Could you try the latest CVS? I put things back and added a missing > check for NULL stuff in FrameView. If this works, it's more correct than > before. No good. (One of) the crash(es) happens at ShapesView.cpp:1545, where f_view is random uninitialized garbage, so dereferencing it crashes. Fixes to FrameView aren't going to help since it doesn't exist yet. You could initialize f_view in the ShapesView constructor, and check each time you use the f_view->GetFrame() construct to make sure f_view has been created, if you don't like my hack of just setting up f_view before the widgets that need it to process their events. Gregory |
From: Tito D. C. <ti...@da...> - 2007-11-18 12:21:14
|
On Sat, 2007-11-17 at 13:41 -0500, Gregory Smith wrote: > No good. (One of) the crash(es) happens at ShapesView.cpp:1545, where > f_view is random uninitialized garbage, so dereferencing it crashes. > Fixes to FrameView aren't going to help since it doesn't exist yet. This looks to me like a wx bug. Why is that event handler fired at that time? It shouldn't be. > You could initialize f_view in the ShapesView constructor, and check > each time you use the f_view->GetFrame() construct to make sure f_view > has been created, if you don't like my hack of just setting up f_view > before the widgets that need it to process their events. I'll revert to your hack, it's a simpler one. But I'll put a FIXME near it, just in case things change in the future. Bye Tito -- Physics is reverse engineering |
From: Tito D. C. <ti...@da...> - 2007-11-18 12:29:31
|
On Sun, 2007-11-18 at 13:21 +0100, Tito Dal Canton wrote: > I'll revert to your hack, it's a simpler one. But I'll put a FIXME near > it, just in case things change in the future. Does this work? If it still crashes, then it's definitely a wx bug! Tito -- Physics is reverse engineering |
From: Gregory S. <wo...@tr...> - 2007-11-19 02:16:14
|
On Nov 18, 2007, at 7:29 AM, Tito Dal Canton wrote: > > Does this work? If it still crashes, then it's definitely a wx bug! Seems OK in Wine. Too lazy to boot Windows today. Gregory |