Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Баги модуля image_view #18

Open
GoogleCodeExporter opened this issue Aug 6, 2015 · 5 comments
Open

Баги модуля image_view #18

GoogleCodeExporter opened this issue Aug 6, 2015 · 5 comments

Comments

@GoogleCodeExporter
Copy link

1. Неверно работает нумерация файлов в 
статус-баре. Например, открываю файл
a.php, в списке файлов главного окна он 
находится вторым, а image_view
показывает 13/24. Дабы не быть голословным, 
привожу скриншот.

2. Перелистывание также работает 
непредсказуемо. Открываем всё тот же файл
a.php, первые несколько файлов переключаются 
правильно, по порядку, по
алфавиту (нумерация по-прежнему 
неправильная), а потом после r.php
открывается сразу же userbar_Shecspi.png, хотя между 
ними ещё 10
изображений. Причём, у userbar_Shecspi.png уже номер 
в статус-баре верный.

3. На файле S.gif перелистывание вперёд 
зависает, при этом назад работает.
Аналогичная ситуация на всех гифах, как я 
понял, для гифов алгоритм
отличается от остальных типов. Баг именно 
где-то в листании вперёд, назад
работает хорошо.

4. Также закрытие окна при открытии нового 
изображения не есть хорошо, так
как оно теряет свою позицию на мониторе и 
размеры. Может быть лучше просто
обновить содержимое GdkPixbuf, или полностью 
удалить область
GtkScrolledWindow и заново поместить ее в окно с 
новым изображением?

Original issue reported on code.google.com by [email protected] on 28 Mar 2010 at 7:19

Attachments:

@GoogleCodeExporter
Copy link
Author

По поводу 1 и 2:
Мне не удается воспроизвести ситуацию. 
Список изображений получается 
непосредственно
в image_view (строка 269) и далее сортируется. 
Можно после сортировки попробовать
сделать print_r ($image_list); и посмотреть 
отличается ли порядок файлов. Если не
сложно напишите полный список имен файлов, 
я попробую воспроизвести баг.

Насчёт 3:
Алгоритм для гифов чуть другой только при 
открытии, в перелистывание - нет. Нашел
ошибку в строке 269, правильный вариант:
$image_list = glob(dirname($filename) . DS .
'*.{png,gif,jpg,jpeg,tif,bmp,ico,tga,PNG,GIF,JPG,JPEG,TIF,BMP,ICO,TGA}', 
GLOB_BRACE);
, нужно удалить лишние записи gif (сейчас gif 
записан 4 раза).

Насчёт 4:
Вначале я обновлял GdkPixbuf, но так и не смог 
придумать вменяемой передачи
параметров позиции, с этим пунктом связан 
ещё один баг: если открыть несколько копий
image_view и затем закрыть. 

Original comment by HiloMax on 28 Mar 2010 at 9:03

@GoogleCodeExporter
Copy link
Author

Список файлов в директории, выдаваемый 
системной программой ls:
14102008185.jpg
a.png
d.png
f.png
h.png
logo_shecspi.png
logo_shecspi_source.xcf
pazzle1.png
pazzle2.png
r.png
S2.png
S.gif
Shecspi120b.png
Shecspi120.png
Shecspi.jpg
Shecspi.png
SH оранжево-жёлтый.jpg
SH оранжево-жёлтый.png
S.jpg
S.png
userbar_Shecspi.png
web20.png
космос.png
шарик.png

Этот список совпадает с тем, что в главном 
окне FlightFiles. А вот print_r() после
сортировки выдаёт следующее:
Array
(
    [0] => /home/shecspi/Картинки/avatare/14102008185.jpg
    [1] => /home/shecspi/Картинки/avatare/S.gif
    [2] => /home/shecspi/Картинки/avatare/S.gif
    [3] => /home/shecspi/Картинки/avatare/S.jpg
    [4] => /home/shecspi/Картинки/avatare/S.png
    [5] => /home/shecspi/Картинки/avatare/S2.png
    [6] => /home/shecspi/Картинки/avatare/SH оранжево-жёлтый.jpg
    [7] => /home/shecspi/Картинки/avatare/SH оранжево-жёлтый.png
    [8] => /home/shecspi/Картинки/avatare/Shecspi.jpg
    [9] => /home/shecspi/Картинки/avatare/Shecspi.png
    [10] => /home/shecspi/Картинки/avatare/Shecspi120.png
    [11] => /home/shecspi/Картинки/avatare/Shecspi120b.png
    [12] => /home/shecspi/Картинки/avatare/a.png
    [13] => /home/shecspi/Картинки/avatare/d.png
    [14] => /home/shecspi/Картинки/avatare/f.png
    [15] => /home/shecspi/Картинки/avatare/h.png
    [16] => /home/shecspi/Картинки/avatare/logo_shecspi.png
    [17] => /home/shecspi/Картинки/avatare/pazzle1.png
    [18] => /home/shecspi/Картинки/avatare/pazzle2.png
    [19] => /home/shecspi/Картинки/avatare/r.png
    [20] => /home/shecspi/Картинки/avatare/userbar_Shecspi.png
    [21] => /home/shecspi/Картинки/avatare/web20.png
    [22] => /home/shecspi/Картинки/avatare/космос.png
    [23] => /home/shecspi/Картинки/avatare/шарик.png
)

Здесь наблюдается хаотичный порядок 
следования файлов. Также хочу обратить 
внимание
на то, что GIF-файлы дублируются (1 и 2 
элементы массива). Возможно сортировка 
файлов
имеет какие-то особенности в Linux, а на Windows у 
меня нет возможности проверить.


P.S. После замены строки 269 на исправленный 
вариант проблема с зависанием при
перелистывании гифов пропала, т.е. пункт 
три.

Original comment by [email protected] on 28 Mar 2010 at 1:16

@GoogleCodeExporter
Copy link
Author

sort($image_list); - дает необходимый результат на 
Виндовс, а вот на Линуксе у меня
нет возможности глянуть :).

Original comment by HiloMax on 28 Mar 2010 at 1:28

@GoogleCodeExporter
Copy link
Author

Так и не смог выяснить в чем ошибка. Нужно 
пробовать на Линуксе.

Original comment by HiloMax on 6 Apr 2010 at 7:43

@GoogleCodeExporter
Copy link
Author

Я могу попытаться отловить и 
исправить этот баг, но вернусь 
домой в только конце мая. 
Видимо какая-то особенность у 
sort() имеется.

Original comment by [email protected] on 6 Apr 2010 at 8:34

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant