cht電腦資訊LilyTerm
adm Find login register

多分頁狀態下關閉第一個分頁導致lilyterm整個關閉

Solomon
1 多分頁狀態下關閉第一個分頁導致lilyterm整個關閉
Promote 0 Bookmark 02008-04-05quote  

版本0.8.3 

不管開幾個分頁。只要第一次開始的分頁被關掉,lilyterm就被終結了。

Tetralet
2
Promote 0 Bookmark 02008-04-06quote  

不知耶?請試試新版 LilyTerm 看看是不是有相同問題?

Solomon
3
Promote 0 Bookmark 02008-04-06quote  

0.8.4 一樣會發生唷。

附上操作影片。 

Tetralet
4
Promote 0 Bookmark 02008-04-06quote  

好怪...

請問操作環境?Gtk+2 的版本?是自行編譯的嗎? 是 Segmentation fault 錯誤嗎?還是有其它錯誤訊息?

Solomon
5
Promote 0 Bookmark 02008-04-06quote  

我用的是 lenny,沒有自己編過。

ii  libgtk2.0-0               2.12.9-2                  The GTK+ graphical user interface library
ii  libgtk2.0-bin             2.12.9-2                  The programs for the GTK+ graphical user interface library
ii  libgtk2.0-common          2.12.9-2                  Common files for the GTK+ graphical user interface library

ii  libvte-common             1:0.16.13-1               Terminal emulator widget for GTK+ 2.0 - common files
un  libvte2                   <無>                     (無相關介紹)
rc  libvte4                   1:0.12.2-5                Terminal emulator widget for GTK+ 2.0 - runtime files
ii  libvte9                   1:0.16.13-1.im            Terminal emulator widget for GTK+ 2.0 - runtime files

我直接在 lilyterm 中執行另一個 lilyterm,並執行影片中的步驟。當 parent  的 lilyterm 中沒有顯示任何的訊息,看起來就像是正常的結束。

Tetralet
6
Promote 0 Bookmark 02008-04-06quote  

看不出來是哪裡出錯...

gint total_page = gtk_notebook_get_n_pages(GTK_NOTEBOOK(notebook));
// if it is the last page, exit application!
if (total_page == 1)
        gtk_main_quit();

我猜是上面這段程式碼關掉 LilyTerm 的。但沒道理在那麼多分頁下,total_page 會等於 1 呀?

我再試一下好了。 

eliu
7
Promote 0 Bookmark 02008-04-06quote  
Solomon
8
Promote 0 Bookmark 02008-04-07quote  

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb749e720 (LWP 10284)]
0xb4257385 in ?? ()
(gdb) bt
#0  0xb4257385 in ?? ()
#1  0xb77ebeca in g_cclosure_marshal_VOID__OBJECT ()
   from /usr/lib/libgobject-2.0.so.0
#2  0xb77df6f9 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#3  0xb77f3c3d in ?? () from /usr/lib/libgobject-2.0.so.0
#4  0x0829cf60 in ?? ()
#5  0x00000000 in ?? ()
(gdb)

這個是 deb 的執行檔使用 gdb 的結果。

但是我抓 source 回來編,不會有這樣的情況發生。 @@ 

 

eliu
9
Promote 0 Bookmark 02008-04-07quote  
Solomon
10
Promote 0 Bookmark 02008-04-07quote  

可能要請 Tetralet 兄丟一個 binary 給我,因為我自已 compile 出來的不會。

Silice
11
Promote 0 Bookmark 02008-04-09quote  

敝人安裝新版後也有這個問題
把~/.config/lilyterm.rc換成最近的設定檔範例後就不會有這個問題了

新的設定檔範例裡多了這三行

page_names = Terminal
page_number = 1
show_input_method_menu = 0

Silice
12
Promote 0 Bookmark 02008-04-09quote  

經敝人測試

 font_name = monospace 15

請設成15(設成13、14、16)就會發生這個問題

這是敝人的 ~/.fonts.conf

 <match target="pattern" >
        <test compare="eq" name="family" >
                <string>monospace</string>
        </test>
        <edit mode="assign" binding="strong" name="family" >
                <string>DejaVu Sans Mono</string>
                <string>Firefly New Sung</string>
        </edit>
</match>

Tetralet
13
Promote 0 Bookmark 02008-04-09quote  

我移掉設定檔和 ~/.fonts.conf 後,測試了幾個 vte based 程式,像是 LilyTerm, evilvte, termit, roxterm,都會當:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb73d8720 (LWP 19327)]
0xb1e33385 in ?? ()
(gdb) bt
#0  0xb1e33385 in ?? ()
#1  0xb79e6eca in g_cclosure_marshal_VOID__OBJECT () from /usr/lib/libgobject-2.0.so.0
#2  0xb79da6f9 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#3  0xb79eec3d in ?? () from /usr/lib/libgobject-2.0.so.0
#4  0x082e2858 in ?? ()
#5  0x00000000 in ?? ()

我是當在以下這一行:

gtk_notebook_remove_page(GTK_NOTEBOOK(notebook), current_page_no);

看來是 gtkNotebook 有問題?因為  xfce4-terminal 意外的不會當,因為它不用 gtkNotebook。看來這個問題除非去 debug gtk+2.0,否則暫時是無解了。

edited: 1

cht電腦資訊LilyTerm
adm Find login register
views:31471