View Issue Details

IDProjectCategoryView StatusLast Update
0001743NoesisGUIC++ SDKpublic2020-07-01 18:07
ReporternikobarliAssigned Tosfernandez 
PrioritynormalSeveritycrashReproducibilityalways
Status resolvedResolutionfixed 
Product Version2.2.6 
Target Version3.0.3Fixed in Version3.0.3 
Summary0001743: Crash when playing visual state animations
DescriptionThere is a crash inside UpdateView that we had. It happens if we operate on NoesisGUI quickly. In this case, switching tabs quickly.

Callstack:

>	Noesis.dll!Noesis::Ptr<Noesis::DependencyObject>::Reset(Noesis::DependencyObject * ptr) Line 170	C++
     Noesis.dll!Noesis::TimeManager::AddFinishedClocks(Noesis::Clock * clock, Noesis::Vector<Noesis::Ptr<Noesis::Clock>,128> & finishedClocks, Noesis::Vector<Noesis::Ptr<Noesis::DependencyObject>,128> & aliveTargets) Line 591	C++
     Noesis.dll!Noesis::TimeManager::AddFinishedClocks(Noesis::Clock * clock, Noesis::Vector<Noesis::Ptr<Noesis::Clock>,128> & finishedClocks, Noesis::Vector<Noesis::Ptr<Noesis::DependencyObject>,128> & aliveTargets) Line 600	C++
     Noesis.dll!Noesis::TimeManager::EvaluateMasterClock(Noesis::Clock * clock, double time, double elapsedTime, Noesis::Vector<Noesis::Ptr<Noesis::Clock>,128> & finishedClocks, Noesis::Vector<Noesis::Ptr<Noesis::DependencyObject>,128> & aliveTargets) Line 483	C++
     Noesis.dll!Noesis::TimeManager::Tick(double time) Line 363	C++
     Noesis.dll!Noesis::View::UpdateAnimation(double timeInSeconds) Line 725	C++
     Noesis.dll!Noesis::View::InternalUpdate(double timeInSeconds) Line 715	C++
     Noesis.dll!Noesis::View::Update(double timeInSeconds) Line 653	C++
Steps To Reproduce
<Grid
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
   <Grid>
     <Grid.Resources>
       <!-- ToggleButton Style -->
       <Style x:Key="ToggleButtonStyle" TargetType="{x:Type ToggleButton}" >
         <Setter Property="Template">
           <Setter.Value>
             <ControlTemplate TargetType="{x:Type ToggleButton}">
               <Grid>
                 <VisualStateManager.VisualStateGroups>
                   <VisualStateGroup x:Name="CommonStates">
                     <VisualStateGroup.Transitions>
                       <VisualTransition GeneratedDuration="0:0:0.1" To="MouseOver"/>
                       <VisualTransition From="MouseOver" GeneratedDuration="0:0:0.5"/>
                     </VisualStateGroup.Transitions>
                     <VisualState x:Name="Normal"/>
                     <VisualState x:Name="MouseOver">
                       <Storyboard>
                         <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background).(Brush.Opacity)" Storyboard.TargetName="OverBorder">
                           <EasingDoubleKeyFrame KeyTime="0" Value="1"/>
                         </DoubleAnimationUsingKeyFrames>
                         <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(TextElement.Foreground).(SolidColorBrush.Color)" Storyboard.TargetName="ContentHost">
                           <EasingColorKeyFrame KeyTime="0" Value="White"/>
                         </ColorAnimationUsingKeyFrames>
                       </Storyboard>
                     </VisualState>
                     <VisualState x:Name="Disabled"/>
                   </VisualStateGroup>
                 </VisualStateManager.VisualStateGroups>
                 <Border x:Name="OverBorder">
                   <Border.Background>
                     <SolidColorBrush Color="Black" Opacity="0.5"/>
                   </Border.Background>
                 </Border>
                 <Border>
                   <ContentPresenter x:Name="ContentHost"/>
                 </Border>
               </Grid>
               <ControlTemplate.Triggers>
                 <Trigger Property="IsChecked" Value="True">
                   <Setter Property="Foreground" Value="Red"/>
                 </Trigger>
               </ControlTemplate.Triggers>
             </ControlTemplate>
           </Setter.Value>
         </Setter>
       </Style>
     </Grid.Resources>
 
     <ToggleButton Style="{StaticResource ToggleButtonStyle}">111</ToggleButton>
 
   </Grid>
</Grid>
TagsNo tags attached.
PlatformAny

Activities

sfernandez

sfernandez

2020-07-01 18:07

manager   ~0006485

I will bring this fix to 2.2 branch so you can use it.

Issue History

Date Modified Username Field Change
2020-07-01 17:14 sfernandez New Issue
2020-07-01 17:14 sfernandez Reporter sfernandez => nikobarli
2020-07-01 17:14 sfernandez Assigned To => sfernandez
2020-07-01 17:14 sfernandez Status new => assigned
2020-07-01 17:14 sfernandez Target Version => 3.0.3
2020-07-01 17:14 sfernandez Steps to Reproduce Updated View Revisions
2020-07-01 18:07 sfernandez Status assigned => resolved
2020-07-01 18:07 sfernandez Resolution open => fixed
2020-07-01 18:07 sfernandez Fixed in Version => 3.0.3
2020-07-01 18:07 sfernandez Note Added: 0006485