LINUX.ORG.RU
Ответ на: комментарий от anonymous

Кстати, я таки поставил его вслепую, но при попытке запуска получаю следующее: http://img151.imageshack.us/img151/4171/puntoinstallershowgoesonqn3.gif

Зато, пилять, инстоллер при закрытии эффектно растворяется. Писец. Аффтар - совсем дебил, что ль?

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

Я не автор Punto, но предположу, что он ругается на то, что нет Русской и Us раскладок. Или их больше, чем две(например, еще германская есть).

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

Помощь зубров - в том, чтобы дать удочку, а не рыбу. Вам уже дали две удочки:

1. Сделать библиотеку

2. Использовать valgrind.

Или Вы ждете чего-то другого в виде помощи? Отлаживать код (по крайней мере на начальном этапе проекта) - придется самостоятельно, скорее всего;)

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

> Я не автор Punto

Это я в курсе :)

> но предположу, что он ругается на то, что нет Русской и Us раскладок.

Ещё бы. Нах мне английская раскладка при немецкой клаве? Я ж по клавишам попадать не буду, даже y и z перепутаю, не говоря о всяких знаках препинания.

Ладно, я понял, punto не для меня :) Но с русскоязычным интерфейсом - это писец, однозначно :)

anonymous
()
Ответ на: комментарий от Crew

Прежде чем ганять в отладчиках хотелось бы узнать на каком процессоре тестировали xneur, какую версию xorg использовали. И главное не волноваться, современем разберемся. Не все кто работает с valgrind и не использует xneur являются пофигистами. А проект не бросай.

anonymous
()
Ответ на: комментарий от Crew

Дык там наскок не требуется - нужно скачать, сконфигурить с префиксом "/usr", собрать, проинсталлить и запустить:

valgrind --leak-check=full xneur.

Поработать с прогой, потом выйти из нее. Valgrind выдаст подробнейший отчет - где были левые операции с памятью. Если есть отладочная информация - с точностью до имени файла, функции и номера строки.

И руководство по valgrind есть достаточно доходчивое. Есть все! Главное - иметь желание разобраться и не спешить. Зубры конечно могут и сами все отловить - но ведь гораздо приятнее (и полезнее) самому найти и уничтожить баг.

anonymous
()
Ответ на: комментарий от Crew

Автор, добавь в код xneur строчку по созданию ~/.xneur каталога при первом запуске а то пришлось запускать с strace чтоб понять почему валится.

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

>>>Не все кто работает с valgrind и не использует xneur являются пофигистами.

(Утирая слёзы радости) Ну, после таких слов вы, как честный человек, должны женит^W прогнать xneur под valgrind.

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

$ valgrind --leak-check=full abiword
==13985== Memcheck, a memory error detector.
==13985== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al.
==13985== Using LibVEX rev 1658, a library for dynamic binary translation.
==13985== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP.
==13985== Using valgrind-3.2.1, a dynamic binary instrumentation framework.
==13985== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al.
==13985== For more details, rerun with: -v
==13985==
....

==13985== LEAK SUMMARY:
==13985==    definitely lost: 30,220 bytes in 1,217 blocks.
==13985==    indirectly lost: 1,496 bytes in 78 blocks.
==13985==      possibly lost: 182,384 bytes in 187 blocks.
==13985==    still reachable: 1,222,719 bytes in 10,981 blocks.
==13985==         suppressed: 0 bytes in 0 blocks.
==13985== Reachable blocks (those to which a pointer was found) are not shown.
==13985== To see them, rerun with: --show-reachable=yes 

Мамы, родите их обратно. Ну пожалуйста.... Я ведь только открыл и закрыл...

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

>Главное, чтобы Альфекс свой код в проект не контрибутил... Анекдоты на Си все помнят?

ну xneur я писал быстро и just for fun - если вспомнить как тут все орали по поводу отсутсвия оного в иксах. быстренько на коленке и написал - в чем проблема? хочется хорошего кода ? так возьми потратть время и исправь что ли? а то п... орать любой анонизмус могет.

код я там потом правил в своей части и немного в чужой (eReport не мое) и утечки смотрел, просто мне сам проект не так сильно интересен с учетом того что на opensource времени у меня не хватает.

Ты вот сам возьми и что нить полезное сделай, ну или посмотри в другие open source и в closed source проекты, если ты там не найдешь ошибок - то ты тупой урод.

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

А, так ты один из авторов.... Ну, тогда многое становится понятным :)

anonymous
()
Ответ на: комментарий от Ramen

>sf.net уже не катит? :)

xneur.sf.net просто пока человек с ним не разобрался, а мне времени не хватает проектом заниматся.

>P.P.S. с%ки, kneur загубили... =( GTK - в домну. Зачем было портить нормальную QT-шную софтину?

нафиг qt ?

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

> нафиг qt ?

Соглашусь. Qt слишком монструозен для такой мелкой софтинки. GTK тут, пожалуй, лучше.

anonymous
()
Ответ на: комментарий от ero-sennin

>Блин, ну сделайте нормальную библиотеку, а фронтендов к ней наделать - минутное дело.

которая включает в себя что ? алгоритмы или еще и работу с иксами ?

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

Вот именно это и попахивает бардаком. %( "К пуговицам претензии есть?" (с)

svu ★★★★★
()

Собрал, не работает нифига:

[alex@alex .xneur]$ xneur
Found xneur PID: 7503
Set PID to lock file.
[DBG]: Initial Configuration Complete!
[DBG]: Loading Configuration File Complete!
[DBG]: Russian Dictionary complete!
[DBG]: English Dictionary complete!
[DBG]: Proto Language loaded complete!
[DBG]: Syllables Weight loaded complete!
[DBG]: Alphabet loaded complete!
[DBG]: Keyboard Layout Present In System:
[DBG]: 'US/ASCII' - must be RUSSIAN (group 0 in configuration file) (if NOT, see configuration file)!
[DBG]: Init Program Structure Complete!
[DBG]: Current mode is set to 0
[DBG]: New Processed Window With Name 'Konsole'.
[DBG]: New Processed Window With Name 'Soffice.bin'.
Cannot get WM_CLASS
[DBG]: New Processed Window With Name '(null)'.
Cannot get WM_CLASS
Cannot get WM_CLASS
[DBG]: New Processed Window With Name 'Gaim'.
[DBG]: KLB_NO_ACTION
[DBG]: KLB_ADD_SYM
[DBG]: Processing word: Y (language RUSSIAN)
[DBG]: Use New Algorithm (language 0)
[DBG]: Nothing to change
[DBG]: KLB_DEL_SYM_LEFT
[DBG]: KLB_NO_ACTION
[DBG]: KLB_NO_ACTION
[DBG]: KLB_NO_ACTION
[DBG]: KLB_ADD_SYM
[DBG]: Processing word: C (language RUSSIAN)
[DBG]: Use New Algorithm (language 0)
[DBG]: Nothing to change
[DBG]: KLB_ADD_SYM
[DBG]: Processing word: Cj (language RUSSIAN)
[DBG]: Use New Algorithm (language 0)
Ошибка сегментирования

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

Обрати внимание [DBG]: 'US/ASCII' - must be RUSSIAN (group 0 in configuration file) (if NOT, see configuration file)!

Во первых, подобных строк должно быть две. Во вторых, надо поправить конфиг.

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

Вот что он выдал:
[alex@alex .xneur]$ xneur
Found xneur PID: 7712
Set PID to lock file.
[DBG]: Initial Configuration Complete!
[DBG]: Loading Configuration File Complete!
[DBG]: Russian Dictionary complete!
[DBG]: English Dictionary complete!
[DBG]: Proto Language loaded complete!
[DBG]: Syllables Weight loaded complete!
[DBG]: Alphabet loaded complete!
[DBG]: Keyboard Layout Present In System:
[DBG]: 'US/ASCII' - must be RUSSIAN (group 0 in configuration file) (if NOT, see configuration file)!
[DBG]: 'Russian' - must be ENGLISH (group 1 in configuration file) (if NOT, see configuration file)!
[DBG]: Init Program Structure Complete!
[DBG]: Current mode is set to 0
...
Содержимое xneurrc:
...
# define xkb group
RusXkbGroup 0
EngXkbGroup 1

Раскладка по умолчанию - русская
Где ошибка?

KUser
()
Ответ на: комментарий от alphex_kaanoken

Сделайте для начала с алгоритмом. Потом - с иксами ;)

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

Поменял
Вот что он выдал:

[alex@alex .xneur]$ xneur
Found xneur PID: 7788
Set PID to lock file.
[DBG]: Initial Configuration Complete!
[DBG]: Loading Configuration File Complete!
[DBG]: Russian Dictionary complete!
[DBG]: English Dictionary complete!
[DBG]: Proto Language loaded complete!
[DBG]: Syllables Weight loaded complete!
[DBG]: Alphabet loaded complete!
[DBG]: Keyboard Layout Present In System:
[DBG]: 'US/ASCII' - must be ENGLISH (group 0 in configuration file) (if NOT, see configuration file)!
[DBG]: 'Russian' - must be RUSSIAN (group 1 in configuration file) (if NOT, see configuration file)!
[DBG]: Init Program Structure Complete!
[DBG]: Current mode is set to 0
[DBG]: New Processed Window With Name 'Konsole'.
[DBG]: New Processed Window With Name 'Kwrite'.
[DBG]: New Processed Window With Name 'Konsole'.

Что-то ему опять не нравится...

KUser
()
Ответ на: комментарий от Crew

>Сейчас все в порядке.
Обновить?
>И кстати, прога только для систем UTF-8. В кои не работает.
Только пока или не планируете поддерживать?

KUser
()
Ответ на: комментарий от Crew

??? А как Вы так смогли? При том, что иксы используют свою собственную мультибайтную кодировку, которая не зависит от локали?

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

>Только пока или не планируете поддерживать?

utf8 only, да и суть не в этом, в gtk+ 2.xx как и в qt-ях ввод всегда utf8 в независимости от локали.

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

А мне и так есть чем заняться, кроме библиотек. Ошибок и так дохрена. А насчет хозяина в открытых исходниках - это мощно :)

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

Правильная архитектура позволит Вам и библиотечный интерфейс внятный сделать, и внутренние проблемы решить (избавившись от многих ошибок).

s/хозяин/maintainer если угодно...

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

>Ну, как я понял, официальный-то хозяин - Crew?

ну в данный момент рулит он, посколько я подумал и так решил - мне просто некогда заниматся xneur, да и у Crew интереса больше в проекте.

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

Главное, чтоб у 7-ми хозяек дитя не осталось без глазу;)

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

> (Утирая слёзы радости) Небось руками терли до появления искр.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

XNEUR падает посему полный анализ выполнить за один вечер проблематично. Стиль написания ужасен, что так-же препятствует анализу. Но Вы не отчаивайтесь, хотя придется перебрать весь код по новому. На каком процессоре тестили Вы так и не ответили.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

1.xneur.c - строка 181 > free(rudict_file);

Но в строке 172 уже был free(rudict_file);

xnc->endict = xnc->load_dict_file (endict_file); if (xnc->rudict == NULL) { send_error (DEBUG, "English Dictionary not use!\n", NULL); } else { send_error (DEBUG, "English Dictionary complete!\n", NULL); } free(rudict_file);

Думаю должно быть

xnc->endict = xnc->load_dict_file (endict_file); if (xnc->endict == NULL) { send_error (DEBUG, "English Dictionary not use!\n", NULL); } else { send_error (DEBUG, "English Dictionary complete!\n", NULL); } free(endict_file);

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

2.xconfig.c - строка 671

> t_word = realloc(t_word, (strlen(t_word) + 1)*sizeof(char*));

Функция strlen читает больше байт чем было выделено в строке 653 xconfig.c

> char *t_word = (char *) xnmalloc (1);

И это логично. Ибо в начале чтения t_word бесконечная строка. Следовало бы ограничить t_word

char *t_word = (char *) xnmalloc (1); i = -1; t_word[0] = NULLSYM;

а потом накапливать данные. А у Вас данное ограничение внесено в тело

case '\n':

а реальный файл ru.syllable начинается не с '\n' а с «qr 1» и только потом '\n'

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

3.library.c - строка 1808

> p->bindlist = memset (p->bindlist, 0, ibind * sizeof (struct _xbinding));

Пишет байт следующий за выделенным блоком в library.c - строка 1803 (точнее пишет много байт затирая память процесса)

> p->bindlist = (xbinding *) xnmalloc(sizeof(struct _xbinding));

ibind * sizeof (struct _xbinding) больше sizeof(struct _xbinding) так как ibind = 5 см. program.c строка 576.

toInit->xbtable = xbindingtable_init(toInit->xbtable, DEFAULT_BIND_TABLE_SIZE); /*Key Bind Table*/

Хочется спать. Завтра продолжу. Есть вопросы пишите ylalym@gmail.com

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

Гигареспектище. Я просто побоялся разбирать код - уж больно стиль страшненький...

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

Не надо ничего объединять, пожалуйста! Надо наоборот выделить нормальный API

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

> Мне как пользователю гораздо удобнее вообще не думать о раскладках.

Да можно вообще не думать, зачем моск напрягать? :)

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

бля, ну вот все лажают, раз такие ниибацо программеры сядьте и напишите нормально! Прога конечно падает с segmentation fault постоянно, но это хоть что-то

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

Все лажают. Не все пишут код, который тяжко и трудно читать (и соотв. чинить) ;)

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

> пипец, автор проги - идиот.. никогда ее не поставлю

В Фидо одно время было популярно высказывание: "Никогда ничего не делай для фидошников - тогда может на %уй не пошлют". Человек в меру своих сил сделал полезное дело, а ты, придурок, который скорее всего за всю жизнь ничего сложнее "Hello, world!" не написал, имеешь наглость его обзывать. Убей себя.

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

После исправления 2 и 3 ошибки xneur работает. Еще одна ошибка появляется кагда возвращаешся к ранее введенному тексту, выделяеш его и жмеш Shift+Break -> Выбрасывает "Ошибка сегментирования"

Буду разбираться дальше.

anonymous
()
Ответ на: комментарий от Burbaka

> Индикатор переключения раскладки это лишняя условность. Как и сами раскладки впрочем. Мне как пользователю гораздо удобнее вообще не думать о раскладках.

напомнило один случай с бабушкой-бухгалтером лет десять назад. - не могу зайти в компьютер - имя и пароль правильные вводите? - конечно! я это каждый день по несколько раз проделываю и никогда не ошибаюсь - хм... проверьте раскладку клавиатуры - она должна соответствовать той, которая была при установке пароля - (тишина) - может вы вводите пароль русскими буквами, а он был в латинице - вы меня совсем за дуру держите!?? я же вижу, какие кнопки я нажимаю!

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