[elinks-dev] Edit mode not exiting cleanly on "Back"
Yan Seiner
yan at seiner.com
Tue May 8 09:12:38 MDT 2007
Kalle Olavi Niemitalo wrote:
> Yan Seiner <yan at seiner.com> writes:
>
>
>> What happens is that the screen is not resetting the reverse
>> mode. If I am in an edit field and in edit mode and hit back,
>> the reverse mode is carried over to the previous screen. If I
>> enter that screen via a link, it displays correctly. If am not
>> in edit mode when I hit "back", it displays correctly.
>>
>
> If I understand correctly, you mean:
> - Bind F2 to history-move-back.
> - Set document.browse.forms.insert_mode = 1.
> - Go to a page that contains a text field.
> - Select this text field.
> - Go to another page that contains a text field.
> - Select this text field.
> - Press Enter (ACT_EDIT_ENTER) to enter insert mode.
> - Press F2 (ACT_MAIN_HISTORY_MOVE_BACK) to return to the first
> page.
> - The text field in the first page is highlighted as if insert
> mode were enabled.
> - Press o.
> - ELinks does not insert the "o" to the text field but rather
> opens the option manager. So insert mode was not actually
> enabled.
>
>
>> Can anyone shed any light on this? Where do I look to fix this?
>>
>
> This occurs because draw_current_link redraws the text field
> before do_action sets ses->insert_mode = INSERT_MODE_OFF.
> Text fields are drawn in two steps: draw_current_link draws the
> attributes, and draw_form_entry draws the characters.
>
Thanks. Is this going to be fixed in CVS or should I just try and hack
around it?
--Yan
> In ELinks 0.12.GIT (d1fa336f7f390d9b51456498fac5dda8f54c18a4):
>
> (gdb) backtrace
> #0 draw_current_link (ses=0x8459780, doc_view=0x8450a58)
> at /home/Kalle/src/elinks-0.12/src/viewer/text/link.c:231
> #1 0x08115f54 in draw_view_status (ses=0x8459780, doc_view=0x8450a58,
> active=1) at /home/Kalle/src/elinks-0.12/src/viewer/text/draw.c:175
> #2 0x081165da in draw_doc (ses=0x8459780, doc_view=0x8450a58, active=1)
> at /home/Kalle/src/elinks-0.12/src/viewer/text/draw.c:297
> #3 0x08116df3 in refresh_view (ses=0x8459780, doc_view=0x8450a58, frames=1)
> at /home/Kalle/src/elinks-0.12/src/viewer/text/draw.c:386
> #4 0x08116dba in draw_formatted (ses=0x8459780, rerender=2)
> at /home/Kalle/src/elinks-0.12/src/viewer/text/draw.c:380
> #5 0x080fa410 in display_timer (ses=0x8459780)
> at /home/Kalle/src/elinks-0.12/src/session/session.c:452
> #6 0x080fe430 in loading_callback (download=0x84597b8, ses=0x8459780)
> at /home/Kalle/src/elinks-0.12/src/session/task.c:537
> #7 0x080d044b in load_uri (uri=0x84d8480, referrer=0x0, download=0x84597b8,
> pri=PRI_MAIN, cache_mode=CACHE_MODE_ALWAYS, start=-1)
> at /home/Kalle/src/elinks-0.12/src/network/connection.c:916
> #8 0x080fd069 in ses_load (ses=0x8459780, uri=0x84d8480, target_frame=0x0,
> target_location=0x85e8168, cache_mode=CACHE_MODE_ALWAYS,
> task_type=TASK_HISTORY)
> at /home/Kalle/src/elinks-0.12/src/session/task.c:83
> #9 0x080fd532 in ses_goto (ses=0x8459780, uri=0x84d8480, target_frame=0x0,
> target_location=0x85e8168, cache_mode=CACHE_MODE_ALWAYS,
> task_type=TASK_HISTORY, redir=0)
> at /home/Kalle/src/elinks-0.12/src/session/task.c:221
> #10 0x080f8e7d in go_history (ses=0x8459780, loc=0x85e8168)
> at /home/Kalle/src/elinks-0.12/src/session/history.c:156
> #11 0x080f8f9a in go_history_by_n (ses=0x8459780, n=1)
> at /home/Kalle/src/elinks-0.12/src/session/history.c:175
> #12 0x081128d5 in do_action (ses=0x8459780,
> action_id=ACT_MAIN_HISTORY_MOVE_BACK, verbose=0)
> at /home/Kalle/src/elinks-0.12/src/viewer/action.c:268
> #13 0x0812b8e4 in send_kbd_event (ses=0x8459780, doc_view=0x8450a58,
> ev=0xbfd88574) at /home/Kalle/src/elinks-0.12/src/viewer/text/view.c:1159
> #14 0x0812bb79 in send_event (ses=0x8459780, ev=0xbfd88574)
> at /home/Kalle/src/elinks-0.12/src/viewer/text/view.c:1224
> #15 0x080fca3c in tabwin_func (tab=0x84509c0, ev=0xbfd88574)
> at /home/Kalle/src/elinks-0.12/src/session/session.c:1280
> #16 0x08100cb2 in term_send_event (term=0x8451b68, ev=0xbfd88574)
> at /home/Kalle/src/elinks-0.12/src/terminal/event.c:131
> #17 0x081015da in handle_interlink_event (term=0x8451b68, ilev=0x8451d18)
> at /home/Kalle/src/elinks-0.12/src/terminal/event.c:390
> #18 0x08101981 in in_term (term=0x8451b68)
> at /home/Kalle/src/elinks-0.12/src/terminal/event.c:494
> #19 0x080ca0c3 in select_loop (init=0x80c8c8f <init>)
> at /home/Kalle/src/elinks-0.12/src/main/select.c:289
> #20 0x080c9407 in main (argc=1, argv=0xbfd88714)
> at /home/Kalle/src/elinks-0.12/src/main/main.c:360
> (gdb)
>
>
> !DSPAM:464015d940451874319035!
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> elinks-dev mailing list
> elinks-dev at linuxfromscratch.org
> http://linuxfromscratch.org/mailman/listinfo/elinks-dev
>
>
> !DSPAM:464015d940451874319035!
>
More information about the elinks-dev
mailing list