Community Q&A

Welcome to Audiokinetic’s community-driven Q&A forum. This is the place where Wwise and Strata users help each other out. For direct help from our team, please use the Support Tickets page. To report a bug, use the Bug Report option in the Audiokinetic Launcher. (Note that Bug Reports submitted to the Q&A forum will be rejected. Using our dedicated Bug Report system ensures your report is seen by the right people and has the best chance of being fixed.)

To get the best answers quickly, follow these tips when posting a question:

  • Be Specific: What are you trying to achieve, or what specific issue are you running into?
  • Include Key Details: Include details like your Wwise and game engine versions, operating system, etc.
  • Explain What You've Tried: Let others know what troubleshooting steps you've already taken.
  • Focus on the Facts: Describe the technical facts of your issue. Focusing on the problem helps others find a solution quickly.

0 votes

We got a crash when, in the UE4 Editor, we delete an audio actor containing a UAkSurfaceReflectorSetComponent, then undo.

The reason is that FAkSurfaceReflectorSetDetailsCustomization was keeping a raw pointer to IDetailLayoutBuilder.  That needs to be a TWeakPtr with appropriate validity checks at each usage.  We found the same problem in FAkLateReverbComponentDetailsCustomization and FAkRoomComponentDetailsCustomization.

The fix is to change each class's MyDetailLayout member variable to:
 

TWeakPtr<IDetailLayoutBuilder> MyDetailLayout;

 

Then override this additional function from the baseclass:

 

virtual void CustomizeDetails( const TSharedPtr<IDetailLayoutBuilder>& DetailBuilder ) override;

 

Use that function to initialize your weak pointer from the shared pointer, then call the other CustomizeDetails with the raw pointer from there.

Hope this helps!

in General Discussion by Alex P. (190 points)

Please sign-in or register to answer this question.

...