Доброго времени суток!
Подскажите, что может быть!
Была Слака 10.1, на ней был проект на С++, использующий wxWidgets и в частности класс wxStyledTextCtrl - a wrapper around the Scintilla styled text edit control.
Обновился до слаки 10.2 - проект начал падать при вызове конструктора класса wxStyledTextCtrl. Начал разбираться (благо исходники под руой ;-) ) и обнаружилось в от что, в исходниках Scintill'ы есть примерно такой код
Document *pdoc;
...
pdoc = new Document();
pdoc->AddWatchers(this, 0);
...
Класс Document - класс Scintill'ы,
так вот ошибка в член-функции AddWatchers класса Document, и как оказалось член-данные класса Document не инициализированы (инициализированны мусором).
В конструктор класса Document добавил для отдладки
cout << "Document::Document" << endl;. Пересобрал wxWidgets. Установил. Пересобрал свой проект.
В член-функцию AddWatchers для отладки добавил
cout << "Document::AddWatchers" << endl;
...и при запуске моего проекта строка Document::Document не выводится в консоль...
а Document::AddWatchers - выводится...
это что значит, конструктор класса Document не вызывается?
в теле функции AddWatchers добавил вывод член-данных класса Document в консоль, посмотрел, инициализированы мусором...
Однако, если скомпилировать пример, использующий wxStyledTextCtrl (идёт вместе с wxWidgets) то строка Document::Document выводится, следовательно конструктор вызывается
за ней выводится в косоль Document::AddWatchers,
все член-данные класса Document инициализированны как надо и пример работает...
Может кто сталкивался с таким поведением?
З.Ы.
Прошу извинить за поток сознания...