comparison Framework/Scene2D/PanSceneTracker.cpp @ 959:13e078adfb94 toa2019082301

Better error log in fetch failure callback + timeout 600sec in OrthancRestApiCommand + guard against dead controller access in PanSceneTracker + relaxed DicomStructureSet AddReferenceSlice method to accept extraneous adds of the same slice (while trying to understand how it happens in the first place)
author Benjamin Golinvaux <bgo@osimis.io>
date Fri, 23 Aug 2019 14:16:45 +0200
parents e42b491f1fb2
children 2d8ab34c8c91
comparison
equal deleted inserted replaced
958:769249e1f3b4 959:13e078adfb94
35 35
36 36
37 void PanSceneTracker::PointerMove(const PointerEvent& event) 37 void PanSceneTracker::PointerMove(const PointerEvent& event)
38 { 38 {
39 ScenePoint2D p = event.GetMainPosition().Apply(originalCanvasToScene_); 39 ScenePoint2D p = event.GetMainPosition().Apply(originalCanvasToScene_);
40 40
41 GetController()->SetSceneToCanvasTransform( 41 // The controller is a weak pointer. It could be deleted when the
42 AffineTransform2D::Combine( 42 // tracker is still alive (for instance, because of a lost WebGL
43 originalSceneToCanvas_, 43 // context)
44 AffineTransform2D::CreateOffset(p.GetX() - pivot_.GetX(), 44 if(GetController().get() != NULL)
45 p.GetY() - pivot_.GetY()))); 45 {
46 GetController()->SetSceneToCanvasTransform(
47 AffineTransform2D::Combine(
48 originalSceneToCanvas_,
49 AffineTransform2D::CreateOffset(p.GetX() - pivot_.GetX(),
50 p.GetY() - pivot_.GetY())));
51 }
46 } 52 }
47 53
48 void PanSceneTracker::Cancel() 54 void PanSceneTracker::Cancel()
49 { 55 {
50 GetController()->SetSceneToCanvasTransform(originalSceneToCanvas_); 56 if(GetController().get() != NULL)
57 {
58 GetController()->SetSceneToCanvasTransform(originalSceneToCanvas_);
59 }
51 } 60 }
52 61
53 } 62 }