]> git.sesse.net Git - nageru/blobdiff - nageru/scene.cpp
Scene doesn't need theme->input_state to be set, as we never get Lua callacks from...
[nageru] / nageru / scene.cpp
index d7da7db997ba1fbc3d4b74a7549ed36feaca1335..6eb86ac91e6f85e1cf45120cc82910aceb3a0374 100644 (file)
@@ -327,6 +327,8 @@ Scene::get_chain(Theme *theme, lua_State *L, unsigned num, const InputState &inp
 #endif
                        } else if (block->signal_type_to_connect == Block::CONNECT_VIDEO) {
                                signals_to_connect.emplace(input, block->video_to_connect->get_card_index());
+                       } else if (block->signal_type_to_connect == Block::CONNECT_NONE) {
+                               luaL_error(L, "An input in a chain was not connected to anything (forgot to call display())");
                        } else {
                                assert(false);
                        }
@@ -383,9 +385,6 @@ Scene::get_chain(Theme *theme, lua_State *L, unsigned num, const InputState &inp
        auto setup_chain = [L, theme, signals_to_connect, images_to_select, int_to_set, float_to_set, vec3_to_set, vec4_to_set, input_state]{
                lock_guard<mutex> lock(theme->m);
 
-               assert(theme->input_state == nullptr);
-               theme->input_state = &input_state;
-
                // Set up state, including connecting signals.
                for (const auto &input_and_signal : signals_to_connect) {
                        LiveInputWrapper *input = input_and_signal.first;
@@ -428,8 +427,6 @@ Scene::get_chain(Theme *theme, lua_State *L, unsigned num, const InputState &inp
                                                value[0], value[1], value[2], value[3]);
                        }
                }
-
-               theme->input_state = nullptr;
        };
        return make_pair(effect_chain, move(setup_chain));
 }