- 
    Bug 
- 
    Resolution: Unresolved
- 
    P2: Important 
- 
    None
- 
    5.6.1
- 
    None
- 
    Ubuntu 15.10
I'm running Canvas3D inside a QQuickWidget - I also have this patch applied:
https://codereview.qt-project.org/#/c/163864/
Basically this is the JavaScript code that makes it crash:
        var loader = new THREE.JSONLoader();
        // load a resource
        loader.load(
            // resource URL
            'carmodel/car_model.js',
            // Function when resource is loaded
            function ( geometry, materials ) {
                console.log("loaded :)")
                var tmaterial = new THREE.MeshLambertMaterial({
                    map: THREE.ImageUtils.loadTexture('carmodel/gtare.png'),
                    colorAmbient: [0.480000026226044, 0.480000026226044, 0.480000026226044],
                    colorDiffuse: [0.480000026226044, 0.480000026226044, 0.480000026226044],
                    colorSpecular: [0.8999999761581421, 0.8999999761581421, 0.8999999761581421]
                });
                
                car_model_mesh = new THREE.Mesh(
                    geometry,
                    tmaterial
                );
                
                car_model_mesh.receiveShadow = true;
                car_model_mesh.castShadow = true;
                car_model_mesh.scale.set(0.024,0.024,0.024)
                car_model_mesh.position.z = -0.425
                // mesh.rotation.y = -Math.PI/5;
                
                
                // var material = new THREE.MeshFaceMaterial( materials );
                // var object = new THREE.Mesh( geometry, material );
                scene.add( car_model_mesh );
                // car_model_mesh = mesh
            }
        );
What I've seen so far digging into the sources of QtCanvas3D is that in renderjob.cpp:
renderjob.cpp
        if (!m_renderer->usingQtContext()) {
            oldContext = QOpenGLContext::currentContext();
            oldSurface = oldContext->surface();
            m_renderer->makeCanvasContextCurrent();
        }
For some reason QOpenGLContext::currentContext() return NULL and that makes the line below oldContext->surface() to crash by a Segmentation fault.