1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-01 23:36:37 +02:00

Save last read line (for marker) within /upgrade

This commit is contained in:
Sebastien Helleu
2008-11-22 17:47:25 +01:00
parent 828e9a835f
commit 09bed16dbd
4 changed files with 11 additions and 2 deletions
+4 -1
View File
@@ -151,7 +151,8 @@ upgrade_weechat_save_buffers (struct t_upgrade_file *upgrade_file)
ptr_infolist = infolist_new ();
if (!ptr_infolist)
return 0;
if (!gui_buffer_line_add_to_infolist (ptr_infolist, ptr_line))
if (!gui_buffer_line_add_to_infolist (ptr_infolist,
ptr_buffer, ptr_line))
{
infolist_free (ptr_infolist);
return 0;
@@ -442,6 +443,8 @@ upgrade_weechat_read_cb (int object_id,
{
new_line->highlight = infolist_integer (infolist, "highlight");
}
if (infolist_integer (infolist, "last_read_line"))
upgrade_current_buffer->last_read_line = new_line;
}
break;
case UPGRADE_WEECHAT_TYPE_NICKLIST:
+4
View File
@@ -1565,6 +1565,7 @@ gui_buffer_add_to_infolist (struct t_infolist *infolist,
int
gui_buffer_line_add_to_infolist (struct t_infolist *infolist,
struct t_gui_buffer *buffer,
struct t_gui_line *line)
{
struct t_infolist_item *ptr_item;
@@ -1622,6 +1623,9 @@ gui_buffer_line_add_to_infolist (struct t_infolist *infolist,
return 0;
if (!infolist_new_var_string (ptr_item, "message", line->message))
return 0;
if (!infolist_new_var_integer (ptr_item, "last_read_line",
(buffer->last_read_line == line) ? 1 : 0))
return 0;
return 1;
}
+1
View File
@@ -245,6 +245,7 @@ extern void gui_buffer_move_to_number (struct t_gui_buffer *buffer, int number);
extern int gui_buffer_add_to_infolist (struct t_infolist *infolist,
struct t_gui_buffer *buffer);
extern int gui_buffer_line_add_to_infolist (struct t_infolist *infolist,
struct t_gui_buffer *buffer,
struct t_gui_line *line);
extern void gui_buffer_dump_hexa (struct t_gui_buffer *buffer);
extern void gui_buffer_print_log ();
+2 -1
View File
@@ -353,7 +353,8 @@ plugin_api_infolist_get_internal (void *data, const char *infolist_name,
for (ptr_line = ((struct t_gui_buffer *)pointer)->lines; ptr_line;
ptr_line = ptr_line->next_line)
{
if (!gui_buffer_line_add_to_infolist (ptr_infolist, ptr_line))
if (!gui_buffer_line_add_to_infolist (ptr_infolist,
pointer, ptr_line))
{
infolist_free (ptr_infolist);
return NULL;