• avatar
  • taurus_t
  • 14 октября 2010, 13:10
  • #
  • +2
Интересная статья. Никогда не понимал что значат эти названия. Да и не запоминаются как то они. Цифры запоминать проще. Я только у Юбунты запомнил, что какая то версия называлась Зайцелопом.
  • avatar
  • taurus_t
  • 16 сентября 2010, 19:09
  • #
  • +2
Короче я уже совсем запутался кто да что и херня полная получается. Вообщем так бага найдена и закрыта, предлагаю и тему закрыть и никого не обвинять ни Rion'а ни elemc, можете меня отпинать :) без Content Downloader Plugin ничего бы не всплыло. Но скажу о позитивных результатах. Исправлена конкретная бага в Psi (это бага Psi, а не Psi+) и еще какая то мелочь в Oxygen, я раз с разработчиком связался, он посмтотрел код и что то там исправил. Все тему закрываю. Если кого чем задел извините, погорячился.
  • avatar
  • taurus_t
  • 16 сентября 2010, 18:28
  • #
  • 0
Мы тут с Rion'ом нашли корень зла. После этого сразу захотелось создать тему с названием Russian Fedora или кто направляет разработчиков Psi+ по ложному следу.

История такова я раз впрягся исправлять эту ошибку (сам вызвался) то поставил KDE это 300 метров с моим ограниченным трафиком полез в него хоть не работаю с ним в принципе, увидел что на самом деле падает увидел когда падает. Дальше я со своим отсутствие английского полез на #kde, оттуда меня послали на #kde-devel, оттуда послали на #oxygen, там чуть было не послали на #qt, но все таки разобрались еще Rion подключился чтоб меня правильно понимали. Вообщем вот.
*** 2010-09-16
[19:35:07] Topic for #oxygen
Oxygen! Breathe some air! :: oxygen-project.org (out of date) :: To request new icons go to tinyurl.com/33qfzs :: See tinyurl.com/3y8j9l for style/windeco issues
[19:35:07] *** Topic for #oxygen set by ruphy at 2009-02-23 14:21:34
[19:35:19] hello
[19:35:34] why references to TransitionWidget is not removed from parent widget when its removed by oxygen theme. findChildren is still able to find and use them. this cause crash when we are accessing deleted widget
[19:39:27] hei hello!
[19:40:34] <bart_> hello
[19:40:58] :)
[19:44:09] bart_: Are you can answered me?
[19:45:20] *** rion_ekb has joined the room
[19:49:45] dritz:that might well be a bug
[19:50:38] oh you mean its deleted; but it is still in the widgets child heararchy?
[19:50:44] then its a Qt bug
[19:50:59] drizt: ^^^^^^^^^^^^
[19:51:07] (sorry I misspelled the first tile)
[19:51:17] But I might be able to add a workaroud
[19:51:24] ok…
[19:51:35] " its deleted; but it is still in the widgets child heararchy"
[19:51:58] Qt is supposed to take care of removing widgets from parent list of children when they are destroyed
[19:52:38] *** Sho_ has left the room (Remote host closed the connection (~EHS1@kde/hein))
[19:52:39] drizt: what kde version is that?
[19:53:33] hugo: rpm -qa | grep kde
kdelibs-4.4.5-1.fc13.x86_64

[19:55:37] mmm. I can't fix in 4.4. There will be no new release.
[19:55:44] But I can fix in trunk and 4.5
[19:55:52] and at some point you'll have to update :)
[19:56:22] hugo: ok big thank!
[19:56:25] well in fact maybe I can also fix in 4.4 in case you want to take the sources and compile manually
[19:56:35] *** Sho_ has joined the room
[19:58:10] <rion_ekb> drizt is one of developers of Psi+ he just tries to fix one of bug report. but since its not bug of Psi+ itself… you know…
[19:58:24] I don't use KDE but i develop Psi+. Recently we find that bug.
[19:58:40] <rion_ekb> =)
[19:58:58] eheh clear enough
[19:59:26] its actually a nasty bug.
[19:59:44] I might have well be bitten by it myself before without realizing.
[19:59:59] How did you figure the dangling pointer is a TransitionWidget?
[20:03:14] QList<QWidget *> list = findChildren<QWidget *>();
qDebug() << list;
for(int i = 0; i < list.size(); i++)
{
qDebug() << list[i];
delete list[i];
}
[20:04:21] fpaste.org/gbFY/
[20:06:14] mmm. ok. But if the widget is already deleted, qDebug() << list[i] should already crash, no?
[20:07:05] no. it crushed in loop. on two iteration
[20:08:30] Oh. So you run the loop a first time and everything works,
[20:08:38] first it QLabel and second it Oxygen::TransitionWidget
[20:08:42] and you run it a second time and the second time it crashes?
[20:09:37] i start loop only one time.
[20:10:05] <rion_ekb> parent widget has to children. one of them deleted TransitionWidget
[20:10:11] <rion_ekb> drizt: right?
[20:10:15] <rion_ekb> 2
[20:10:20] yes
[20:10:26] yes. TransitionWidget is a child of QLabel.
[20:10:35] So if you delete QLabel, it deletes TransitionWidget
[20:10:45] and then it crashes when you deletes it again.
[20:10:57] Problem with findChildren is that its recursive.
[20:11:07] *** neverendingo_ has joined the room
[20:11:26] <rion_ekb> oh the root of evil is found =)
[20:11:30] so you basically cannot use the code above. Its asking for trouble (if I remember right)
[20:11:32] *** neverendingo has left the room (Ping timeout: 245 seconds (~neverendi@kde/www/imalchow))
[20:11:58] damn
[20:11:59] you can use QObject::children
[20:12:03] (which is not recursive)

[20:12:07] check on the type
[20:12:10] and delete.

Rion не прав был в том что так грубо разговаривал. Но прав ли elemc в том что написал неверную причину падение, толком не разобравшись, особенно с учетом его немалого стажа как программиста?
  • avatar
  • taurus_t
  • 14 сентября 2010, 18:41
  • #
  • +1
Если бы я Риона не попросил бы ответить, то был бы игнор. А в чем то первый ответ нормальный. Если ошибка в Кедах то и писать надо в кеды. Если автор сам разобрался что Кеды виноваты то сразу мог бы и написать в upstream. (Вспомним что чуть что надо сразу в upstream посылать, это хороший способ решение ошибок)
  • avatar
  • taurus_t
  • 07 августа 2010, 00:04
  • #
  • -1
за compile спасибо! теперь буду пользоваться, действительно полезно
  • avatar
  • taurus_t
  • 07 августа 2010, 00:01
  • #
  • +1
а это вообще для какой версии emacs написано?
;; Переход на строчку — Alt-g номер строки перехода
(global-set-key "\M-g" 'goto-line)
в версии 23 уже есть M-g M-g для перехода на строчку
подсветка синтаксиса вроде всегда работала зачем ее отдельно включать или font-lock-mode что то другое делает?
  • avatar
  • taurus_t
  • 06 августа 2010, 23:41
  • #
  • +1
хм файл cc-mode сам загружается по необходимости, его не надо явно объявлять.
  • avatar
  • taurus_t
  • 06 августа 2010, 18:46
  • #
  • -1
у меня не включается cc-mode, всегда пользовался c-mode или c++-mode
  • avatar
  • taurus_t
  • 01 августа 2010, 12:20
  • #
  • +5
А да, забыл добавить что вопрос поднят по инициативе проекта Рашн Федора. Мы считаем что этот баг затрагивает большое количество дистрибутивов и пользователей и далеко не только русскоязычных поэтому эта возможность изначально должна быть, вместо того что бы самостоятельно патчить в каждом дистрибутиве.
  • avatar
  • taurus_t
  • 01 августа 2010, 12:02
  • #
  • +5
Вопрос о исправлении серьезного бага поднят в апстриме Info-zip. Апстрим вроде понял что он существует и стоит вопрос о том каким образом это будет решено. Речь идет о включении RusXMMS патча, его автор предложил свою помощь. Вообщем подробности здесь. www.info-zip.org/board/board.pl?m-1248086794/s-0/
там что то уже несколько недель тишина, можно/нужно отписываться спрашивать на тему что решили? когда будет? долго еще ждать? Показать свое небезразличие и заинтересованность.