Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dropdowns (enums) no longer work on Chrome OSX in some circumstances #101

Closed
greggman opened this issue Jul 22, 2016 · 2 comments
Closed

Comments

@greggman
Copy link

greggman commented Jul 22, 2016

I don't know when this started but I've been seeing it around the net in various demos

Here's a simple repo

<!doctype html>
<html>
  <body>
  </body>
</html>
<script src="dat.gui.min.js"></script>
<script>
var guiWindow = function () {
    this.texture = "dotted";
};

function drawGui() {
    guiElement = new guiWindow();
    var a = new dat.GUI();

    var f3 = a.addFolder('General');
    f3.add(guiElement,"texture",["plane", "dotted","lined"]).listen().onChange(function (b) {});
    f3.open();
};
drawGui();
</script>

Run it, click the "dotted" value. Chrome goes crazy

Here's a live version

Here's a gif showing the issue. I only click one time and chrome goes into this fit bogging down the entire OS

opt

PS: ignore the colors changing. That seems to have something to do with my gif compressor. Also trying it in Chrome Canary with no extensions it still happens. Other friends have confirmed this issue on their Macs. Happens in Chrome OSX but not Chrome Windows nor Safari OSX

Strangely the ones on the dat.gui demo site work but the code above seems like a pretty minimal repo.

@greggman
Copy link
Author

So the issue seems to be the call to listen. Remove it and things start working. Unfortunately this the bug only happens on Chrome OSX anyone not developing on Chrome OSX will never know there's an issue

@customlogic
Copy link
Contributor

Thanks for the bug and example. I've made a fix in ca19030

mrdoob pushed a commit to mrdoob/three.js that referenced this issue Sep 7, 2016
dat.gui had an issue where if you call .listen() on dropdown
controls they don't work in Chrome on OSX

You can see an example here
http://threejs.org/examples/webgl_postprocessing_ssao.html

On Chrome OSX try to change the renderMode

There are 2 fixes. One is to remove the call to `listen`.
The problem with this solution is that since things
work on say, Windows someone using dat.gui has no idea
their stuff doesn't work else where.

The other is to get a version of dat.gui that doesn't
have the issue as it was [recently fixed](dataarts/dat.gui#101)
aardgoose pushed a commit to aardgoose/three.js that referenced this issue Oct 7, 2016
dat.gui had an issue where if you call .listen() on dropdown
controls they don't work in Chrome on OSX

You can see an example here
http://threejs.org/examples/webgl_postprocessing_ssao.html

On Chrome OSX try to change the renderMode

There are 2 fixes. One is to remove the call to `listen`.
The problem with this solution is that since things
work on say, Windows someone using dat.gui has no idea
their stuff doesn't work else where.

The other is to get a version of dat.gui that doesn't
have the issue as it was [recently fixed](dataarts/dat.gui#101)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants