Index: /trunk/src/VBox/Main/idl/comimpl.xsl
===================================================================
--- /trunk/src/VBox/Main/idl/comimpl.xsl	(revision 85304)
+++ /trunk/src/VBox/Main/idl/comimpl.xsl	(revision 85305)
@@ -202,4 +202,5 @@
   <xsl:param name="type"/>
   <xsl:param name="safearray"/>
+  <xsl:param name="internal"/>
 
   <xsl:choose>
@@ -220,5 +221,7 @@
     <xsl:otherwise>
       <xsl:value-of select="concat('         ', $member, ' = ', $param, ';&#10;')"/>
-      <xsl:value-of select="       '         return S_OK;&#10;'" />
+      <xsl:if test="$internal!='yes'">
+        <xsl:text>         return S_OK;&#10;</xsl:text>
+      </xsl:if>
     </xsl:otherwise>
   </xsl:choose>
@@ -507,4 +510,5 @@
         <xsl:with-param name="param" select="$pName" />
         <xsl:with-param name="safearray" select="@safearray" />
+        <xsl:with-param name="internal" select="'no'" />
       </xsl:call-template>
       <xsl:value-of select="       '    }&#10;'" />
@@ -512,5 +516,14 @@
 
     <xsl:value-of select="       '    // purely internal setter&#10;'" />
-    <xsl:value-of select="concat('    inline HRESULT set_', @name,'(',$pTypeNameIn, ')&#10;    {&#10;')" />
+    <xsl:text>    inline </xsl:text>
+    <xsl:choose>
+      <xsl:when test="(@safearray='yes') or (@type='wstring') or (@type = 'uuid')">
+        <xsl:text>HRESULT</xsl:text>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:text>void</xsl:text>
+      </xsl:otherwise>
+    </xsl:choose>
+    <xsl:value-of select="concat(' set_', @name,'(',$pTypeNameIn, ')&#10;    {&#10;')" />
     <xsl:call-template name="genSetParam">
       <xsl:with-param name="type" select="@type" />
@@ -518,4 +531,5 @@
       <xsl:with-param name="param" select="$pName" />
       <xsl:with-param name="safearray" select="@safearray" />
+      <xsl:with-param name="internal" select="'yes'" />
     </xsl:call-template>
     <xsl:value-of select="       '    }&#10;'" />
