Maybe not the end of Shoes 3.2

I love it. A helping of irony is always tasty. I announced that I’m going to stop working on 3.2 and move onto Shoes 3.3 using Gtk3 and no one should expect another Shoes 3.2b4 or higher and nothing more if Shoes/Windows/Ruby won’t play nice. So I updated the rake files — its been a while since I built and tested the MinGW/GTK variants (back when I thought Ruby 1.9.3 was the baseline for Shoes 3.2). Guess what?

They work surprisely well !?! The Gtk3 variant has the same Gtk3 bugs as Linux – no surprise there. That’s what Shoes 3.3 is supposed to fix. So many of the samples works as expected in Gtk2 without hanging Shoes that I started poking around with the gem handling (samples/simple-rubygems.rb). It downloads with progress bars that move. Yay. It installs pure Ruby Gems. It fails to build bluecloth – as expected since my Win7 doesn’t have the compiler needed. Just like Linux. So I tried nokogiri which we learned has a mingw binary payload available. Downloaded! Installed! Dies on the ‘require’. That could be a Ruby version mismatch since I’m using 2.1.0 and it could be using 2.0.0. So why does simple-downloader.rb fail? Because it uses an very old bit of complicated C to work around Ruby http problems and newer Rubies have fixed that problem? Could be, grasshopper. That’s a fixable and perhaps I could even get rid of Curl requirements on Linux. That would be a win-win-win.

I also found the hang on Windows. It’s not Ruby and it’s been reported before and forgotten. If you put a window in front of a shoes window (or partially cover it enough), i.e. Shoes goes into the background stacking order then it will max the cpu until some Windows watchdog thinks it needs to be stopped. YES! It’s not a Ruby threading problem or a Gtk threading problem. Finding and fixing it may not be so easy but it won’t require changes to Ruby or Gtk. I might be able to fix that. That’s a huge win for me. I’ve uploaded the MinGW-Gtk2 3.2b4 version if you want to play with it.

Both bugs, the windows expose event handling and the url downloader are show stoppers for Shoes/Windows. I suspect the first is a simple fix but hard to find for the Windows ignorant and the second requires ripping curl/windownload out Shoes. Hard to say which one I’ll tackle first. Could there be a 3.2b5? Of course there could be.

Leave a Reply

Your email address will not be published. Required fields are marked *