Index: /trunk/src/VBox/Main/idl/comimpl.xsl
===================================================================
--- /trunk/src/VBox/Main/idl/comimpl.xsl	(revision 85289)
+++ /trunk/src/VBox/Main/idl/comimpl.xsl	(revision 85290)
@@ -213,8 +213,12 @@
       </xsl:variable>
       <xsl:value-of select="concat('         SafeArray&lt;', $elemtype, '&gt; aArr(ComSafeArrayInArg(',$param,'));&#10;')"/>
-      <xsl:value-of select="concat('         ',$member, '.initFrom(aArr);&#10;')"/>
+      <xsl:value-of select="concat('         return ',$member, '.initFrom(aArr);&#10;')"/>
+    </xsl:when>
+    <xsl:when test="($type='wstring') or ($type='uuid')">
+      <xsl:value-of select="concat('         return ',$member, '.assignEx(', $param, ');&#10;')"/>
     </xsl:when>
     <xsl:otherwise>
       <xsl:value-of select="concat('         ', $member, ' = ', $param, ';&#10;')"/>
+      <xsl:value-of select="       '         return S_OK;&#10;'" />
     </xsl:otherwise>
   </xsl:choose>
@@ -453,10 +457,9 @@
         <xsl:with-param name="safearray" select="@safearray" />
       </xsl:call-template>
-      <xsl:value-of select="       '         return S_OK;&#10;'" />
       <xsl:value-of select="       '    }&#10;'" />
     </xsl:if>
 
     <xsl:value-of select="       '    // purely internal setter&#10;'" />
-    <xsl:value-of select="concat('    HRESULT set_', @name,'(',$pTypeNameIn, ')&#10;    {&#10;')" />
+    <xsl:value-of select="concat('    inline HRESULT set_', @name,'(',$pTypeNameIn, ')&#10;    {&#10;')" />
     <xsl:call-template name="genSetParam">
       <xsl:with-param name="type" select="@type" />
@@ -465,5 +468,4 @@
       <xsl:with-param name="safearray" select="@safearray" />
     </xsl:call-template>
-    <xsl:value-of select="       '         return S_OK;&#10;'" />
     <xsl:value-of select="       '    }&#10;'" />
   </xsl:for-each>
