v1.4.4
BlueMeter v1.4.4 Release Notes
π Bug Fixes
Critical Crash Fix: Mouse-Through Mode Interaction
Issue: Application crashed when interacting with the damage meter window after disabling mouse-through mode following a long raid.
Error: System.Windows.Markup.XamlParseException: A TwoWay or OneWayToSource binding cannot work on the read-only property 'EffectiveDamage'
Problems Identified:
- XAML Binding Mode: WPF attempted to create two-way bindings on read-only computed properties
- Template Context: Bindings within popup templates defaulted to TwoWay mode in certain contexts
- Crash Trigger: Occurred when hovering over player stats after untoggling mouse-through mode
Fixes Applied:
1. Fixed EffectiveDamage Binding (DpsStatisticsView.xaml:308)
- Explicit OneWay mode added to
EffectiveDamagebinding - Prevents WPF from attempting two-way binding on read-only property
- Property computes:
DamageTaken + DamageMitigated
2. Fixed MitigationPercent Binding (DpsStatisticsView.xaml:321)
- Explicit OneWay mode added to
MitigationPercentbinding - Property computes:
(DamageMitigated / EffectiveDamage) Γ 100
3. Fixed EffectiveTps Binding (DpsStatisticsView.xaml:327)
- Explicit OneWay mode added to
EffectiveTpsbinding - Property computes:
EffectiveDamage / Duration
π§ Technical Details
Root Cause Analysis
The Problem:
- Three computed properties in
StatisticDataViewModelare read-only (no setters):EffectiveDamage(line 26)MitigationPercent(line 31)EffectiveTps(line 38)
- XAML bindings in the
PopupTemplatedidn't explicitly specifyMode=OneWay - WPF's default binding mode in template contexts sometimes defaults to
TwoWay - When popup was instantiated during mouse-over, WPF tried to create two-way binding
- Result: Immediate crash with XamlParseException
The Solution:
- Add explicit
Mode=OneWayto all three bindings - Forces WPF to use one-way binding regardless of context
- Properties remain read-only as designed
- Popup template loads successfully
When Did This Crash Occur?
The crash was triggered by this specific sequence:
- Long raid in progress (damage meter tracking data)
- Mouse-through mode enabled during raid
- User disables mouse-through mode
- User hovers mouse over player stats to view popup
- WPF attempts to render popup template
- CRASH: Two-way binding fails on read-only property
π― What's Fixed
- β No more crashes when interacting with damage meter after disabling mouse-through mode
- β Tank stats popup displays correctly (Effective Damage, Mitigation %, Effective TPS)
- β All popup tooltips work reliably
- β Computed properties remain read-only (correct design)
π¦ Installation
Download the latest release and extract to your preferred location. This hotfix resolves a critical crash affecting users who toggle mouse-through mode during raids.
Thank you for using BlueMeter! π