# Drillpick broken in Cesium 14?

**URL:** <https://community.cesium.com/t/drillpick-broken-in-cesium-14/3139>\
**Category:** CesiumJS\
**Created:** [October 2, 2015, 6:27pm UTC](https://community.cesium.com/t/drillpick-broken-in-cesium-14/3139 "2015-10-02T18:27:42Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![varch02](https://avatars.discourse-cdn.com/v4/letter/v/85e7bf/32.png) [@varch02](https://community.cesium.com/u/varch02)\
**Post date:** [October 2, 2015, 6:27pm UTC](https://community.cesium.com/t/drillpick-broken-in-cesium-14/3139/1 "2015-10-02T18:27:42Z")

</div>

I download the newest Cesium and when I try to perform a drillpick I get an error saying it cannot compute ".pass" from undefined.

I think it may be the line 1084 in scene.js:

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var length = commandList.length;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (var i = 0; i \< length; ++i) {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var command = commandList[i];  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var pass = command.pass;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (pass === Pass.COMPUTE) {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;computeList.push(command);

It should have a check to make sure command is defined:

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var length = commandList.length;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (var i = 0; i \< length; ++i) {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var command = commandList[i];  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (command) {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var pass = command.pass;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (pass === Pass.COMPUTE) {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;computeList.push(command);

The code used to have the check in previous versions then the check was removed. Was it removed for a reason?

- V

---

<div class="post-metadata">

**Author:** ![Matt\_Amato](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/matt_amato/32/1993_2.png) [@Matt\_Amato](https://community.cesium.com/u/Matt_Amato)\
**Post date:** [October 2, 2015, 6:40pm UTC](https://community.cesium.com/t/drillpick-broken-in-cesium-14/3139/2 "2015-10-02T18:40:46Z")

</div>

I don’t believe command should ever be undefined, which is why the check was removed.

Does the Drill Down picking example in Sandcastle work for you?

[http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Picking.html&label=Showcases](http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Picking.html&label=Showcases)

If it does, can you post a small Sandcastle snippet that triggers the problem on your end? Perhaps it’s only a problem in certain situations or with certain primitive types.
