diff --git a/lib/msf/ui/gtk2/assistant/skeleton.rb b/lib/msf/ui/gtk2/assistant/skeleton.rb index b64fe55766..a56889db52 100644 --- a/lib/msf/ui/gtk2/assistant/skeleton.rb +++ b/lib/msf/ui/gtk2/assistant/skeleton.rb @@ -252,26 +252,30 @@ module Msf # Create and return a DrawingArea object # def create_banner - + da = Gtk::DrawingArea.new da.set_size_request(600, 60) + + if(da.window.respond_to?('create_cairo_context')) + + Signal + da.signal_connect('expose-event') do |widget, event| + cr = widget.window.create_cairo_context + cr.scale(*widget.window.size) + cr.set_line_width(0.04) - Signal - da.signal_connect('expose-event') do |widget, event| - cr = widget.window.create_cairo_context - cr.scale(*widget.window.size) - cr.set_line_width(0.04) + cr.new_path + image = Cairo::ImageSurface.from_png(driver.get_image("banner_assistant.png")) + cr.scale(1.0 / image.width, 1.0 / image.height) + cr.set_source(image, 0, 0) - cr.new_path - image = Cairo::ImageSurface.from_png(driver.get_image("banner_assistant.png")) - cr.scale(1.0 / image.width, 1.0 / image.height) - cr.set_source(image, 0, 0) - - cr.paint + cr.paint + end + else + # Ugly, but better than a crash + da = Gtk::Image.new(driver.get_image("banner_assistant.png")) end - # da = Gtk::Image.new(driver.get_image("banner_assistant.png")) - return da end diff --git a/msfgui b/msfgui index b1ad144567..525b9b8d48 100755 --- a/msfgui +++ b/msfgui @@ -16,7 +16,8 @@ begin require 'gtk2' require 'libglade2' rescue ::Exception => e - $stderr.puts "[*] The msfgui interface requires the ruby-gtk2 and ruby-libglade2 package" + $stderr.puts "[*] The msfgui interface requires the ruby-gtk2 and ruby-libglade2 packages" + $stderr.puts "[*] Dependencies include ruby-pango, ruby-glib2, ruby-gdkpixbuf2, and ruby-atk" exit(0) end