LINUX.ORG.RU
ФорумTalks

[глюкодром, говнокод] Gnome такой Gnome =)


0

0

С недавних под стал замечать, что rhythmbox *иногда* падает при изменении громкости. У меня даже получается это воспроизвести путём бешеного дёрганья соответствующего слайдера вверх-вниз (правда только на реальной системе, под VirtualBox'ом не вышло). Перед созданием нового багрепорта решил поискать и обнаружил, что редхатовская багзилла прямо таки завалена автоматически сгенерированными багрепортами по поводу падения ритмбокса при изменении громкости. Копнув чуть глубже я узнал, что проблема гораздо серьёзнее и старее =).

  • RHBZ #537711 - один из автоматически сгенерированных багрепортов
  • Gnome BZ #590431 - апстримовый багрепорт о падении ритмбокса
  • Gnome BZ #533427 (2008-05-16) - GObject properties not threadsafe - причина
  • Gnome BZ #166020 (2005!!!!!!-02-02) - проблема с многопоточностью оказывается не только у GObject'а...

ДОКОЛЕ?????!!!1

=)

Deleted

Ответ на: комментарий от linuxfan

ООП (который с классами, а не с прототипами) строится на понятии класса. А назвать ядерные структуры классами...

Yareg ★★★
()
Ответ на: комментарий от a3

Кстати, теперь я оценил пульс. Все правильно сделали. Хоть сейчас и проблемы со старыми играми.

a3
()
Ответ на: комментарий от overmind88

В том, что пульс — не велосипед, а общесистемная звуковая подсистема. А вот городить в каждом приложении свой велосипед для управления громкостью — идиотизм.

a3
()
Ответ на: комментарий от linuxfan

Так может вы школьники, покажите студентам, как нужно писать софт?

Ab-1
()
Ответ на: комментарий от a3

>А вот городить в каждом приложении свой велосипед для управления громкостью — идиотизм.

Сурово! Чисто по лоровски.

Ab-1
()

[troll]А кдешники тем временем спокойно слушают музыку в Amarok 2 и не знают проблем[/troll]

vkos ★★
()
Ответ на: комментарий от vkos

>А кдешники тем временем спокойно слушают музыку в Amarok 2 и не знают проблем
Ну я бы не сказал, что совсем не знают... Но надежда на лучшее есть.

dogbert ★★★★★
()

>ДОКОЛЕ?????!!!1

У тебя как обычно есть два выхода:

1. поставить KDE;

2. сделать вдоль.

можешь совместить (%

aiqu6Ait ★★★★
()
Ответ на: комментарий от aiqu6Ait

Совмещать не надо, а то потом тролли всё исказят и выдадут тред «КДЕ довёл человека до суицида!»

Yareg ★★★
()

GTK не нужно. Гнум переписать на Qt и С++. Треднечитал.

ShTH
()

Всем спасибо, микросрач удался. Даже C++ вспомнили =).

Deleted
()
Ответ на: комментарий от Yareg

> А назвать ядерные структуры классами...

Запомни, школьник - ООП это не «классы», это инкапсуляция, полиморфизм и наследование. Инкапсуляция наличествует, полиморфизм наличествует, наследование симулируется. Правда, до школьников это не доходит - ну да и фиг с вами, со школьниками

no-dashi ★★★★★
()
Ответ на: комментарий от no-dashi

С полиморфизмом ещё как-то можно согласиться, всё таки в C++ таблица виртуальных функций примерно так и выглядит. А раз полиморфизм есть, то можно за уши и наследование притянуть... Хотя что там от чего наследуется? Есть куча экземпляров этой структуры, то, что у них хранятся указатели на другие функции, не делает их уже «структурами-наследниками».

Но какая, на хрен, инкапсуляция? Какие данные от чего скрываются? Там даже большинство тех функции оперируют совсем другими данными.

Так можно вообще что угодно к чему угодно притянуть.

И всё-таки согласись, что в ядре и в GLib используется абсолютно разный подход.

Yareg ★★★
()
Ответ на: комментарий от Yareg

>Открыл рандомный файл исходников, с копирайтом Линуса. Вижу чистый C без всяких извращений

Семантику смотри, лол.

yoghurt ★★★★★
()
Ответ на: комментарий от Yareg

>Но какая, на хрен, инкапсуляция? Какие данные от чего скрываются? Там даже большинство тех функции оперируют совсем другими данными

Инкапсуляция не обязательно предусматривает «сокрытие» в прямом в смысле слова, инкапсуляция - это скорее работа с объектом через интерфейс, без влезания в основную структуру.

Dudraug ★★★★★
()
Ответ на: комментарий от no-dashi

то что структура содержит указатель на функцию не делает код ООП-шным.
в ядре применили некоторые возможности ООП и при этом без сраного извращения.

xydo ★★
()
Ответ на: комментарий от xydo

ой, ладно. всю пьянку уже всё равно пропустил)

xydo ★★
()
Ответ на: комментарий от overmind88

>сейчас придёт мужик2 и объяснит тебе, что так и нужно, а кто дёргает ползунок громкости, тот лох

Музхик-2 не придет, он на очередном сеансе психотерапии!

Alex_A_V ★★
()
Ответ на: комментарий от no-dashi

> В чем отличия вот этих двух фрагментов?

struct inode * my_inode = [...];

my_inode->i_fof->read(my_inode,buffer,count);



inode * my_inode = [...];

my_inode->i_fof->read(buffer,count);



Так в чём разница? Что дают struct в объявлении массива и упоминание этого массива в вызове функции? Который из вариантов считается ОО?

Да, я даже на быдлокодера не тяну.

question4 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.