Developer postOriginal post (opens in a new tab)

Linux Development Update

I've been putting a lot of time into Linux development this week and I've got many small issues knocked out.

My problem with menus was easily fixed once I realized the problem was a missing macro in a while loop. Basically, my code was like this:
while ()
{
#ifdef _WIN32
dosomething()
#endif
#ifdef OSX
dosomethingelse()
#endif
}

And since there was no code for Linux, of course it just sent the program into an infinite loop. Easily fixed. One strange thing is that Ubuntu appears to add underscores to the menus in places I didn't intend. I can't really tell what the reasons or rules for this are. However, it's not an issue worth worrying about right now:

In this shot, you can see the properties dialog at the bottom right is working properly now:

And finally, here is my little list of outstanding issues. As you can see, the great majority have been resolved, and there's only a handful of small issues remaining.

[FIXED] -The options panels don't appear. -Fixed. [FIXED] -Menus don't change when different window is selected. -Total non-issue, just treat it the same as Windows and it works fine. [FIXED] -An error occurs on exit: "gdk_pix_buf_new_from_data: assertion width>0 failed" -Fixed! Solution: Don't give it a width of 0! [FIXED] -Center panels are unresponsive to mouse events. Fixed. Panels needed active panel setting. However, viewports are not being redrawn during resizing. Fixed. Disabled movable panels on Linux. [FIXED] -The left side bar icons aren't appearing. Semi-working. Button images seem to be lost when re-rendered. Fixed. Were being removed from memory by GC. [FIXED] -Mouse events appear to be flooding the queue, significant lag. Fixed? Check release mode to see if that is any better. [FIXED] -Menu shortcuts seem to freeze the program? -Clearing the program log freezes the program. (Repeated bug) [FIXED] -Object properties don't appear. [FIXED] -Color widget button doesn't do anything. -Viewports do not repaint upon window restore This appears to be due to the asynchronous nature of GTK. Basically, it means there is a delay between when the application receives notification of a resize event, and when the correct resized window dimensions become available. In an event-driven app this can lead to obvious errors because the application never updates for the values when they finally become correct. Solved. Pulled out all the splitter gadgets. :D Mostly solved. Problems still occur when maximize / minimize windows -The scene browser tree doesn't appear. -Vertical alignment of surface tools seems off. -Many blank buttons in surface tools. (Too small?) -Occasional invalid text buffer error.

So this brings us one step closer to our goal of being able to build games natively on Linux.