crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Не переопределяется QIODevice::isOpen(), При использовании для Phonon
kerdster
  опции профиля:
сообщение 7.7.2011, 13:17
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 1.2.2009
Пользователь №: 520

Спасибо сказали: 0 раз(а)




Репутация:   0  


Добрый день.
Проблема состоит в следующем - необходимо сделать производный класс от QIODevice для использования его в Phonon.
Всё бы хорошо, но столкнулся со странной проблемой - не удаётся переопределить в производном классе метод isOpen().

Объявление:
class netSource : public QIODevice
{
Q_OBJECT
public:
    explicit netSource(QObject *parent = 0);
    bool isOpen() const;
    ....
}


Определение:
bool netSource::isOpen() const
{
    qDebug() << "SRC: is Open";
    return true;
}


Пример кода:
netSource *src = new netSource(this);
    
src->isOpen(); // Работает!

Phonon::MediaObject *mediaObject = new Phonon::MediaObject(this);
mediaObject->setCurrentSource(Phonon::MediaSource(src)); // Падение! ASSERT: "ioDevice->isOpen()" in file /builddir/build/BUILD/phonon-4.4.3/phonon/iodevicestream.cpp, line 43


Там, где срабатывает ASSERT моя функция НЕ вызывается, в первом случае вывод в дебаг есть, а во втором нет.

Что за фигня такая странная? Исходники проекта прикрепил.
Прикрепленные файлы
Прикрепленный файл  phonon_net.zip ( 3.24 килобайт ) Кол-во скачиваний: 106
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.7.2024, 20:14