Q_ASSERT вызывает qFatal которая в свою очередь делает аборт приложению.
компиляция с флагом: QT_NO_DEBUG приводит к игнорированию Q_ASSERT(index.isValid());
например если ты в винде собирал как релиз а не дебак, скорее всего так и было. А в линухе собрал как дебаг вот она у тебя и вылетает. Q_ASSERT() используют в тех случаях, где тебе стопудово нужно отловить ошибку которая в дальнейшем может привести к краху твоего приложения. Вот ты ее и поймал
Выше это по коду
везде где идет работа с индексами их количеством например:
rowCount, columnCount ...
Спасибо за вводную статью про Q_ASSERT, я как-то особо не задумывался, что там внутри. Проги обе собирал, как ты говоришь, дебак, тк, вроде, трезвый был.
Но если даже и релиз.
Программа бы упала из-за невалидного индекса.
Но под виндой все корректно работает, те там индекс передается верный.
Я прям не знаю, куда сунуться...