• Rob Shearman's avatar
    widl: Fix optimisation for writing out ref pointers to simple structs and base types. · cc51c30a
    Rob Shearman authored
    The optimisation in write_remoting_arg for sizing, marshalling,
    unmarshalling and freeing ref pointers to base types directly was
    broken in d458a599 and caused
    unnecessary calls to pointer marshalling functions.
    
    The same was true for a similar optimisation for simple structures
    where their size can be pre-calculated, freeing omitted and the
    NdrSimpleStructMarshall/Unmarshall functions called directly instead
    of calling NdrPointerMarshall/Unmarshall first.
    
    Fix this by looking at the type of the referrent instead of the type
    of the pointer, making sure to not classify user types as simple
    structures.
    
    Additionally remove some dead code that would never be executed
    because the code is in an RPC_FC_RP case, inside a !is_ptr if block
    (and RPC_FC_RP is a pointer type).
    cc51c30a
Name
Last commit
Last update
..
widl Loading commit data...
winapi Loading commit data...
winebuild Loading commit data...
winedump Loading commit data...
winegcc Loading commit data...
wmc Loading commit data...
wrc Loading commit data...
Makefile.in Loading commit data...
c2man.pl Loading commit data...
config.guess Loading commit data...
config.sub Loading commit data...
examine-relay Loading commit data...
findfunc Loading commit data...
fnt2bdf.c Loading commit data...
fnt2bdf.h Loading commit data...
fnt2fon.c Loading commit data...
font_convert.sh Loading commit data...
install-sh Loading commit data...
make_authors Loading commit data...
make_ctests.c Loading commit data...
make_makefiles Loading commit data...
make_requests Loading commit data...
makedep.c Loading commit data...
mkinstalldirs Loading commit data...
relpath.c Loading commit data...
runtest Loading commit data...
sfnt2fnt.c Loading commit data...
wine.desktop Loading commit data...
wine.inf.in Loading commit data...
wineinstall Loading commit data...
winemaker Loading commit data...
winemaker.man.in Loading commit data...
wineprefixcreate.in Loading commit data...
wineprefixcreate.man.in Loading commit data...
winewrapper Loading commit data...