$OpenBSD: patch-lgi_override_Gdk_lua,v 1.1 2013/05/05 18:50:21 jasper Exp $

From 8000f6d1362fc38ebe349119554d291f6226e04e Mon Sep 17 00:00:00 2001
From: <andy@hammerhartes.de>
Date: Thu, 25 Apr 2013 22:49:20 +0200
Subject: [PATCH] Fix compatibility with Gtk+ 2.x: Gdk.RGBA is only available in Gtk+ 3.

--- lgi/override/Gdk.lua.orig	Mon Mar  4 22:10:19 2013
+++ lgi/override/Gdk.lua	Sun May  5 20:49:26 2013
@@ -54,16 +54,18 @@ for name, val in pairs {
 } do Gdk._constant[name] = Gdk.Atom(val) end
 
 -- Easier-to-use Gdk.RGBA.parse() override.
-local parse = Gdk.RGBA.parse
-function Gdk.RGBA._method.parse(arg1, arg2)
-   if Gdk.RGBA:is_type_of(arg1) then
-      -- Standard member method.
-      return parse(arg1, arg2)
-   else
-      -- Static constructor variant.
-      local rgba = Gdk.RGBA()
-      return parse(rgba, arg1) and rgba or nil
-   end
+if Gdk.RGBA then
+    local parse = Gdk.RGBA.parse
+    function Gdk.RGBA._method.parse(arg1, arg2)
+       if Gdk.RGBA:is_type_of(arg1) then
+          -- Standard member method.
+          return parse(arg1, arg2)
+       else
+          -- Static constructor variant.
+          local rgba = Gdk.RGBA()
+          return parse(rgba, arg1) and rgba or nil
+       end
+    end
 end
 
 -- Gdk.Window.destroy() actually consumes 'self'.  Prepare workaround
