CsWinRT icon indicating copy to clipboard operation
CsWinRT copied to clipboard

Fixing couple reported issues

Open manodasanW opened this issue 1 year ago • 0 comments

  • Incrementing the assembly version to reflect what it should actually be
  • Fixing AsAsyncOperation and similar async scenarios where we weren't previously generating the vtable for generic classes implementing generic WinRT interfaces. We still don't do that in general, but at least the async scenarios are now handled by using the global vtable lookup table when we detect such a function being used.
  • Adding property to be able to control whether the global vtable lookup table generation happens. This is by default disabled if we detect that you are trying to generate a projection as we don't need global vtable lookup table for those scenarios. Otherwise, it is by default enabled.
  • Fixing issue where when we were asked to generate the vtable for a boxed struct, we were failing to because we were restricting checking the CCW type to classes.
  • Fixing issue where when using foreach, it was possible for an element to be get added to the list and thereby that would fail due to change in collection while doing for each. Given we never remove from the list and only add, replacing it with a normal loop where we check count before looping. Also doing it for the other scenarios where we were doing similar checks given those were running into a writer lock being taken while a reader lock was held.
  • Fixing issue where both the component generator and the AOT generator were generating the same generic interface instantiation static classes. We now detect that the component generator would have generated that and don't do it in the AOT generator. This issue started showing up after fixing the issue where our collection adapter classes weren't generated for the non authoring scenarios even though we probably should.

manodasanW avatar May 08 '24 03:05 manodasanW