summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSebastien Helleu <flashcode@flashtux.org>2013-11-28 19:59:36 +0100
committerSebastien Helleu <flashcode@flashtux.org>2013-11-28 19:59:36 +0100
commit7e14c60f4dcba0dcae5418bc93bb0a0e497e6bb1 (patch)
tree5b62bd74b4608167b666472cc8baf3d68d5e2f29 /src
parent02fc4053c903a2d4b671f1b85b05f90a4d891612 (diff)
downloadweechat-7e14c60f4dcba0dcae5418bc93bb0a0e497e6bb1.zip
core: revert check of layout when switching to a buffer using value "auto" in buffer_set
This reverts commits 14cf7bd20fb3f00b18343464c175a0c4e3556149 and 262dff4b87ebf14a11fe83899fe168bc5a72ffe6. The initial fix was for a problem with irc autojoin and layout: the current window has not appropriate buffer (as defined in layout) if it is not the latest channel in "autojoin" option. So the way to fix this problem is to set the value of option irc.look.buffer_switch_autojoin to off.
Diffstat (limited to 'src')
-rw-r--r--src/gui/gui-buffer.c19
1 files changed, 6 insertions, 13 deletions
diff --git a/src/gui/gui-buffer.c b/src/gui/gui-buffer.c
index 269999119..daa461ac0 100644
--- a/src/gui/gui-buffer.c
+++ b/src/gui/gui-buffer.c
@@ -1492,7 +1492,6 @@ gui_buffer_set (struct t_gui_buffer *buffer, const char *property,
{
long number;
char *error;
- int auto_switch;
if (!property || !value)
return;
@@ -1528,19 +1527,13 @@ gui_buffer_set (struct t_gui_buffer *buffer, const char *property,
else if (string_strcasecmp (property, "display") == 0)
{
/*
- * on "automatic" switch:
- * - check if the buffer displayed in window is the buffer in layout:
- * if yes, do NOT switch to buffer
- * - do NOT set the read marker
+ * if it is auto-switch to a buffer, then we don't set read marker,
+ * otherwise we reset it (if current buffer is not displayed) after
+ * switch
*/
- auto_switch = (string_strcasecmp (value, "auto") == 0);
- if (!auto_switch
- || (gui_layout_window_check_buffer (gui_current_window) != 1))
- {
- gui_window_switch_to_buffer (gui_current_window,
- buffer,
- (auto_switch) ? 0 : 1);
- }
+ gui_window_switch_to_buffer (gui_current_window, buffer,
+ (string_strcasecmp (value, "auto") == 0) ?
+ 0 : 1);
}
else if (string_strcasecmp (property, "print_hooks_enabled") == 0)
{