@@ -146,32 +146,28 @@ proto.tryCreatePlot = function() {
146
146
try {
147
147
scene . glplot = createPlot ( opts ) ;
148
148
} catch ( e ) {
149
- if ( scene . staticMode || ! firstInit ) {
149
+ if ( scene . staticMode || ! firstInit || preserveDrawingBuffer ) {
150
150
success = false ;
151
151
} else { // try second time
152
- if ( preserveDrawingBuffer ) {
152
+ // enable preserveDrawingBuffer setup
153
+ // in case is-mobile not detecting the right device
154
+ Lib . warn ( [
155
+ 'webgl setup failed possibly due to' ,
156
+ 'false preserveDrawingBuffer config.' ,
157
+ 'The mobile/tablet device may not be detected by is-mobile module.' ,
158
+ 'Enabling preserveDrawingBuffer in second attempt to create webgl scene...'
159
+ ] . join ( ' ' ) ) ;
160
+
161
+ try {
162
+ // invert preserveDrawingBuffer
163
+ preserveDrawingBuffer = opts . glOptions . preserveDrawingBuffer = true ;
164
+
165
+ scene . glplot = createPlot ( opts ) ;
166
+ } catch ( e ) {
167
+ // revert changes to preserveDrawingBuffer
168
+ preserveDrawingBuffer = opts . glOptions . preserveDrawingBuffer = false ;
169
+
153
170
success = false ;
154
- } else {
155
- try {
156
- // enable preserveDrawingBuffer setup
157
- // in case is-mobile not detecting the right device
158
- Lib . warn ( [
159
- 'webgl setup failed possibly due to' ,
160
- 'false preserveDrawingBuffer config.' ,
161
- 'The mobile/tablet device may not be detected by is-mobile module.' ,
162
- 'Enabling preserveDrawingBuffer in second attempt to create webgl scene...'
163
- ] . join ( ' ' ) ) ;
164
-
165
- // invert preserveDrawingBuffer
166
- preserveDrawingBuffer = opts . glOptions . preserveDrawingBuffer = true ;
167
-
168
- scene . glplot = createPlot ( opts ) ;
169
- } catch ( e ) {
170
- // revert changes to preserveDrawingBuffer
171
- preserveDrawingBuffer = opts . glOptions . preserveDrawingBuffer = false ;
172
-
173
- success = false ;
174
- }
175
171
}
176
172
}
177
173
}
0 commit comments