]> git.lizzy.rs Git - minetest.git/blobdiff - src/guiTable.cpp
Make faces shading correct for all possible modes.
[minetest.git] / src / guiTable.cpp
index 4d6fc195072add988769a3601c1cfa41512eee09..6ce8574865d4c8e456ba871ded02295098e84064 100644 (file)
@@ -183,6 +183,16 @@ void GUITable::setTable(const TableOptions &options,
        // j is always a column index, 0-based
        // k is another index, for example an option index
 
+       // Handle a stupid error case... (issue #1187)
+       if (columns.empty()) {
+               TableColumn text_column;
+               text_column.type = "text";
+               TableColumns new_columns;
+               new_columns.push_back(text_column);
+               setTable(options, new_columns, content);
+               return;
+       }
+
        // Handle table options
        video::SColor default_color(255, 255, 255, 255);
        s32 opendepth = 0;
@@ -446,7 +456,7 @@ void GUITable::setTable(const TableOptions &options,
        }
 
        if (m_has_tree_column) {
-               // Treeview: convent tree to indent cells on leaf rows
+               // Treeview: convert tree to indent cells on leaf rows
                for (s32 i = 0; i < rowcount; ++i) {
                        if (i == rowcount-1 || m_rows[i].indent >= m_rows[i+1].indent)
                                for (s32 j = 0; j < m_rows[i].cellcount; ++j)
@@ -798,7 +808,7 @@ bool GUITable::OnEvent(const SEvent &event)
                        }
 
                        // find the selected item, starting at the current selection
-                       // dont change selection if the key buffer matches the current item
+                       // don't change selection if the key buffer matches the current item
                        s32 old_selected = m_selected;
                        s32 start = MYMAX(m_selected, 0);
                        s32 rowcount = m_visible_rows.size();
@@ -823,7 +833,7 @@ bool GUITable::OnEvent(const SEvent &event)
 
                if (event.MouseInput.Event == EMIE_MOUSE_WHEEL) {
                        m_scrollbar->setPos(m_scrollbar->getPos() +
-                                       (event.MouseInput.Wheel < 0 ? -1 : 1) *
+                                       (event.MouseInput.Wheel < 0 ? -3 : 3) *
                                        - (s32) m_rowheight / 2);
                        return true;
                }