<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -115,7 +115,7 @@ module RbPlusPlus
           up_or_raise = 
             if method.default_return_value
               reverse = &quot;!&quot;
-              &quot;return #{method.default_return_value};&quot;
+              &quot;return #{method.default_return_value}&quot;
             else
               if method.purely_virtual?
                 &quot;raisePureVirtual()&quot;
@@ -129,14 +129,19 @@ module RbPlusPlus
 
           const = method.const? ? &quot;const&quot; : &quot;&quot;
 
+          # Write out the virtual method that forwards calls into Ruby
           declarations &lt;&lt; &quot;&quot;
-          declarations &lt;&lt; &quot;#{return_type} #{cpp_name}(#{def_arguments}) #{const} {&quot;
-          declarations &lt;&lt; &quot;if(#{reverse}callIsFromRuby(\&quot;#{ruby_name}\&quot;)) {&quot;
-          declarations &lt;&lt; &quot;#{up_or_raise};&quot;
-          declarations &lt;&lt; &quot;} else {&quot;
+          declarations &lt;&lt; &quot;virtual #{return_type} #{cpp_name}(#{def_arguments}) #{const} {&quot;
           declarations &lt;&lt; &quot;#{call_down};&quot;
           declarations &lt;&lt; &quot;}&quot;
+
+          # Write out the wrapper method that gets exposed to Ruby that handles
+          # going up the inheritance chain
+          declarations &lt;&lt; &quot;&quot;
+          declarations &lt;&lt; &quot;#{return_type} default_#{cpp_name}(#{def_arguments}) #{const} {&quot;
+          declarations &lt;&lt; &quot;#{up_or_raise};&quot;
           declarations &lt;&lt; &quot;}&quot;
+          
         end
 
         declarations &lt;&lt; &quot;};&quot;</diff>
      <filename>lib/rbplusplus/builders/director.rb</filename>
    </modified>
    <modified>
      <diff>@@ -11,7 +11,7 @@ module RbPlusPlus
 
       def code_path
         cpp_name = self.code.qualified_name.split(&quot;::&quot;)[-1]
-        &quot;#{@director.qualified_name}::#{cpp_name}&quot;
+        &quot;#{@director.qualified_name}::default_#{cpp_name}&quot;
       end
 
     end</diff>
      <filename>lib/rbplusplus/builders/director_method.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>d2efd311371f9079bed99104b4be2c40213ac027</id>
    </parent>
  </parents>
  <author>
    <name>Jason Roelofs</name>
    <email>jameskilton@gmail.com</email>
  </author>
  <url>http://github.com/jameskilton/rbplusplus/commit/80b200d2692a9d3b9ac5e78a1df8c37c48fe3152</url>
  <id>80b200d2692a9d3b9ac5e78a1df8c37c48fe3152</id>
  <committed-date>2009-10-31T10:40:39-07:00</committed-date>
  <authored-date>2009-10-31T10:40:39-07:00</authored-date>
  <message>Updated to work with the new Director API changes</message>
  <tree>11df0c5239a1806b12f2b0839bdc684f434bd811</tree>
  <committer>
    <name>Jason Roelofs</name>
    <email>jameskilton@gmail.com</email>
  </committer>
</commit>
