Информация об изменениях

Сообщение Re: Похоже, починил. от 20.12.2018 19:50

Изменено 20.12.2018 19:55 Sheridan

Re: Похоже, починил.
Дело было не в бобине.
Похоже, внутри urho3d отсутствуют проверки снутри их "умных" указателей. Причём они, похоже, это гвоно встроили везде куда могли дотянуться.
Что делаю:
class cobject
{
  cobject () { buf = new urho3d::vertexbyffer(); }
  ~cobject () { delete buf; }
  urho3d::vertexbyffer *buf;
}

Казалось бы — валидный код. Ан нет, нифига подобного. У них почти любой объект — refcounted, в том числе и этот вертексбуффер. В результате валится в ReleaseRef(); внутри urho
Далее, интерфейсы SetVertexBuffer и SetIndexBuffer явно указывают на утечки памяти, если не удалять самостоятельно. Собственно и вот. И на самом деле я до сих пор сомневаюсь что там нет утечек.
Re: Похоже, починил.
Дело было не в бобине.
Похоже, внутри urho3d отсутствуют проверки внутри их "умных" указателей. Причём они, похоже, это монго встроили везде куда могли дотянуться.
Что делаю:
class cobject
{
  cobject () { buf = new urho3d::vertexbyffer(); }
  ~cobject () { delete buf; }
  urho3d::vertexbyffer *buf;
}

Казалось бы — валидный код. Ан нет, нифига подобного. У них почти любой объект — refcounted, в том числе и этот вертексбуффер. В результате валится в ReleaseRef(); внутри urho
Далее, интерфейсы SetVertexBuffer и SetIndexBuffer явно указывают на утечки памяти, если не удалять самостоятельно. Собственно и вот. И на самом деле я до сих пор сомневаюсь что там нет утечек.