v1cont / yad

Yet Another Dialog
GNU General Public License v3.0
657 stars 58 forks source link

[util.c] Bug in update_preview() #134

Closed phenixia2003 closed 3 years ago

phenixia2003 commented 3 years ago

Hello,

When running yad --file --add-preview, if the user enter into a directory containing pipe file(s) and the selection is moved to one of these, yad freezes.

How to reproduce : $ mkdir /tmp/FREEZE-TEST $ echo -n "" > /tmp/FREEZE-TEST/file1.txt $ echo -n "" > /tmp/FREEZE-TEST/file2.txt $ mkfifo /tmp/FREEZE-TEST/pipe1.txt $ yad --center --width=800 --height=600 --file --add-preview --filename=/tmp/FREEZE-TEST # Select the file /tmp/FREEZE-TEST/pipe1.txt, to freeze yad.

backtrace (snippet): 0x00007f5cf741d714 in open64 () from /lib64/libc.so.6 #0 0x00007f5cf741d714 in open64 () at /lib64/libc.so.6 #1 0x00007f5cf73a5382 in _IO_file_open () at /lib64/libc.so.6 #2 0x00007f5cf73a56a2 in __GI__IO_file_fopen () at /lib64/libc.so.6 #3 0x00007f5cf7398bca in fopen@@GLIBC_2.2.5 () at /lib64/libc.so.6 #4 0x00007f5cf7a7e7b7 in gdk_pixbuf_new_from_file_at_scale () at /usr/lib64/libgdk_pixbuf-2.0.so.0 #5 0x000000000042a272 in update_preview (chooser=0x23d9c80, p=0x247f700) at util.c:192 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

In attachment, a patch to fix this issue.

Hope this helps.

PS: I posted the same issue on sourceforge.net (ticket #334)

-- SeB yad-update_preview-freeze-bug.patch.txt