Compare commits
13 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
7495650be5 | ||
|
1a1a9a9503 | ||
|
b42ae05a65 | ||
|
c229030860 | ||
|
b35873fc3e | ||
|
0796f343ee | ||
|
470b1892d8 | ||
|
0cf4640b9b | ||
|
d039fd0f8c | ||
|
d611982ba6 | ||
|
5dd36f8fda | ||
|
9040494016 | ||
|
d4908ba8f3 |
@ -35,7 +35,7 @@ endif()
|
|||||||
# version
|
# version
|
||||||
set(VERSION_MAJOR "1")
|
set(VERSION_MAJOR "1")
|
||||||
set(VERSION_MINOR "1")
|
set(VERSION_MINOR "1")
|
||||||
set(VERSION_PATCH "")
|
set(VERSION_PATCH "2-dev")
|
||||||
if(VERSION_PATCH STREQUAL "")
|
if(VERSION_PATCH STREQUAL "")
|
||||||
set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR})
|
set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR})
|
||||||
else()
|
else()
|
||||||
|
@ -13,6 +13,26 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
|
|||||||
(file 'ReleaseNotes.asciidoc' in sources).
|
(file 'ReleaseNotes.asciidoc' in sources).
|
||||||
|
|
||||||
|
|
||||||
|
== Version 1.1.1 (2015-01-25)
|
||||||
|
|
||||||
|
=== Bugs fixed
|
||||||
|
|
||||||
|
* core: fix random error when creating symbolic link weechat-curses on
|
||||||
|
make install with cmake (bug #40313)
|
||||||
|
* core: fix crash when a root bar has conditions different from
|
||||||
|
active/inactive/nicklist (closes #317)
|
||||||
|
* irc: don't close channel buffer on second /part when option
|
||||||
|
irc.look.part_closes_buffer is off (closes #313)
|
||||||
|
* irc: fix /join on a channel buffer opened with autojoin but which failed to
|
||||||
|
join
|
||||||
|
* irc: send QUIT to server and no PART for channels when the server buffer
|
||||||
|
is closed (closes #294)
|
||||||
|
* irc: fix order of channel buffers opened when option irc.look.server_buffer
|
||||||
|
is set to "independent", irc.look.buffer_open_before_autojoin to "on" and
|
||||||
|
irc.look.new_channel_position to "near_server" (closes #303)
|
||||||
|
* irc: fix crash in buffer close when server name is the same as a channel name
|
||||||
|
(closes #305)
|
||||||
|
|
||||||
== Version 1.1 (2015-01-11)
|
== Version 1.1 (2015-01-11)
|
||||||
|
|
||||||
=== New features
|
=== New features
|
||||||
|
@ -24,7 +24,7 @@ image:https://travis-ci.org/weechat/weechat.svg?branch=master["Build Status", li
|
|||||||
* Developed from scratch.
|
* Developed from scratch.
|
||||||
* Free software, released under GPLv3.
|
* Free software, released under GPLv3.
|
||||||
|
|
||||||
image::http://static.weechat.org/images/screenshots/weechat/medium/weechat_2013-04-27_phlux_shadow.png[align="center"]
|
image::https://weechat.org/media/images/screenshots/weechat/medium/weechat_2013-04-27_phlux_shadow.png[align="center"]
|
||||||
|
|
||||||
== Install
|
== Install
|
||||||
|
|
||||||
|
@ -15,6 +15,10 @@ https://weechat.org/files/changelog/ChangeLog-devel.html[ChangeLog]
|
|||||||
(file 'ChangeLog.asciidoc' in sources).
|
(file 'ChangeLog.asciidoc' in sources).
|
||||||
|
|
||||||
|
|
||||||
|
== Version 1.1.1 (2015-01-25)
|
||||||
|
|
||||||
|
Bug fix and maintenance release.
|
||||||
|
|
||||||
== Version 1.1 (2015-01-11)
|
== Version 1.1 (2015-01-11)
|
||||||
|
|
||||||
=== New format for regex replacement in triggers
|
=== New format for regex replacement in triggers
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
# Process this file with autoconf to produce a configure script.
|
# Process this file with autoconf to produce a configure script.
|
||||||
|
|
||||||
AC_PREREQ(2.56)
|
AC_PREREQ(2.56)
|
||||||
AC_INIT(WeeChat, 1.1, flashcode@flashtux.org)
|
AC_INIT(WeeChat, 1.1.2-dev, flashcode@flashtux.org)
|
||||||
AC_CONFIG_SRCDIR([configure.ac])
|
AC_CONFIG_SRCDIR([configure.ac])
|
||||||
AM_CONFIG_HEADER(config.h)
|
AM_CONFIG_HEADER(config.h)
|
||||||
AM_INIT_AUTOMAKE([foreign])
|
AM_INIT_AUTOMAKE([foreign])
|
||||||
|
@ -659,6 +659,9 @@ util_file_get_content (const char *filename)
|
|||||||
FILE *f;
|
FILE *f;
|
||||||
size_t count, fp;
|
size_t count, fp;
|
||||||
|
|
||||||
|
if (!filename)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
buffer = NULL;
|
buffer = NULL;
|
||||||
fp = 0;
|
fp = 0;
|
||||||
|
|
||||||
|
@ -84,15 +84,23 @@ add_dependencies(${EXECUTABLE} weechat_gui_curses)
|
|||||||
# Due to circular references, we must link two times with libweechat_core.a
|
# Due to circular references, we must link two times with libweechat_core.a
|
||||||
target_link_libraries(${EXECUTABLE} ${STATIC_LIBS} weechat_gui_curses ${EXTRA_LIBS} ${STATIC_LIBS})
|
target_link_libraries(${EXECUTABLE} ${STATIC_LIBS} weechat_gui_curses ${EXTRA_LIBS} ${STATIC_LIBS})
|
||||||
|
|
||||||
install(TARGETS ${EXECUTABLE} RUNTIME DESTINATION bin)
|
|
||||||
|
|
||||||
# Create a symbolic link weechat-curses -> weechat
|
# Create a symbolic link weechat-curses -> weechat
|
||||||
# This link is created for compatibility with old versions on /upgrade.
|
# This link is created for compatibility with old versions on /upgrade.
|
||||||
# It may be removed in future.
|
# It may be removed in future.
|
||||||
install(CODE "
|
add_custom_command(
|
||||||
EXECUTE_PROCESS(
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${EXECUTABLE}-curses${CMAKE_EXECUTABLE_SUFFIX}
|
||||||
COMMAND ${CMAKE_COMMAND} -E remove -f \"\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/weechat-curses${CMAKE_EXECUTABLE_SUFFIX}\"
|
COMMAND ${CMAKE_COMMAND} -E remove -f "weechat-curses${CMAKE_EXECUTABLE_SUFFIX}"
|
||||||
COMMAND ${CMAKE_COMMAND} -E create_symlink weechat${CMAKE_EXECUTABLE_SUFFIX} \"\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/weechat-curses${CMAKE_EXECUTABLE_SUFFIX}\"
|
COMMAND ${CMAKE_COMMAND} -E create_symlink "weechat${CMAKE_EXECUTABLE_SUFFIX}" "weechat-curses${CMAKE_EXECUTABLE_SUFFIX}"
|
||||||
|
DEPENDS ${EXECUTABLE}
|
||||||
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||||
|
COMMENT "Creating symbolic link ${EXECUTABLE}-curses${CMAKE_EXECUTABLE_SUFFIX}"
|
||||||
)
|
)
|
||||||
LIST(APPEND CMAKE_INSTALL_MANIFEST_FILES \"${CMAKE_INSTALL_PREFIX}/bin/weechat-curses${CMAKE_EXECUTABLE_SUFFIX}\")
|
add_custom_target(${EXECUTABLE}-curses${CMAKE_EXECUTABLE_SUFFIX} ALL
|
||||||
")
|
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${EXECUTABLE}-curses${CMAKE_EXECUTABLE_SUFFIX}
|
||||||
|
)
|
||||||
|
add_dependencies(${EXECUTABLE}-curses${CMAKE_EXECUTABLE_SUFFIX} ${EXECUTABLE})
|
||||||
|
list(APPEND CMAKE_INSTALL_MANIFEST_FILES "${CMAKE_INSTALL_PREFIX}/bin/weechat-curses${CMAKE_EXECUTABLE_SUFFIX}")
|
||||||
|
|
||||||
|
# Install executable and symbolic link
|
||||||
|
install(TARGETS ${EXECUTABLE} RUNTIME DESTINATION bin)
|
||||||
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${EXECUTABLE}-curses${CMAKE_EXECUTABLE_SUFFIX} DESTINATION bin)
|
||||||
|
@ -402,7 +402,7 @@ gui_bar_check_conditions (struct t_gui_bar *bar,
|
|||||||
}
|
}
|
||||||
else if (string_strcasecmp (conditions, "nicklist") == 0)
|
else if (string_strcasecmp (conditions, "nicklist") == 0)
|
||||||
{
|
{
|
||||||
if (window->buffer && !window->buffer->nicklist)
|
if (window && window->buffer && !window->buffer->nicklist)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
else if (conditions[0])
|
else if (conditions[0])
|
||||||
@ -415,7 +415,8 @@ gui_bar_check_conditions (struct t_gui_bar *bar,
|
|||||||
if (pointers)
|
if (pointers)
|
||||||
{
|
{
|
||||||
hashtable_set (pointers, "window", window);
|
hashtable_set (pointers, "window", window);
|
||||||
hashtable_set (pointers, "buffer", window->buffer);
|
if (window)
|
||||||
|
hashtable_set (pointers, "buffer", window->buffer);
|
||||||
}
|
}
|
||||||
extra_vars = hashtable_new (32,
|
extra_vars = hashtable_new (32,
|
||||||
WEECHAT_HASHTABLE_STRING,
|
WEECHAT_HASHTABLE_STRING,
|
||||||
@ -429,7 +430,7 @@ gui_bar_check_conditions (struct t_gui_bar *bar,
|
|||||||
hashtable_set (extra_vars, "inactive",
|
hashtable_set (extra_vars, "inactive",
|
||||||
(gui_current_window && (gui_current_window != window)) ? "1" : "0");
|
(gui_current_window && (gui_current_window != window)) ? "1" : "0");
|
||||||
hashtable_set (extra_vars, "nicklist",
|
hashtable_set (extra_vars, "nicklist",
|
||||||
(window->buffer && window->buffer->nicklist) ? "1" : "0");
|
(window && window->buffer && window->buffer->nicklist) ? "1" : "0");
|
||||||
}
|
}
|
||||||
options = hashtable_new (32,
|
options = hashtable_new (32,
|
||||||
WEECHAT_HASHTABLE_STRING,
|
WEECHAT_HASHTABLE_STRING,
|
||||||
|
@ -141,16 +141,20 @@ irc_buffer_close_cb (void *data, struct t_gui_buffer *buffer)
|
|||||||
{
|
{
|
||||||
if (ptr_server)
|
if (ptr_server)
|
||||||
{
|
{
|
||||||
/* send PART on all channels for server, then disconnect from server */
|
if (!ptr_server->disconnected)
|
||||||
|
{
|
||||||
|
/* send QUIT to server, then disconnect */
|
||||||
|
irc_command_quit_server (ptr_server, NULL);
|
||||||
|
irc_server_disconnect (ptr_server, 0, 0);
|
||||||
|
}
|
||||||
ptr_channel = ptr_server->channels;
|
ptr_channel = ptr_server->channels;
|
||||||
while (ptr_channel)
|
while (ptr_channel)
|
||||||
{
|
{
|
||||||
next_channel = ptr_channel->next_channel;
|
next_channel = ptr_channel->next_channel;
|
||||||
weechat_buffer_close (ptr_channel->buffer);
|
if (ptr_channel->buffer != buffer)
|
||||||
|
weechat_buffer_close (ptr_channel->buffer);
|
||||||
ptr_channel = next_channel;
|
ptr_channel = next_channel;
|
||||||
}
|
}
|
||||||
if (!ptr_server->disconnected)
|
|
||||||
irc_server_disconnect (ptr_server, 0, 0);
|
|
||||||
ptr_server->buffer = NULL;
|
ptr_server->buffer = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -76,59 +76,69 @@ irc_channel_move_near_server (struct t_irc_server *server, int channel_type,
|
|||||||
int number, number_channel, number_last_channel, number_last_private;
|
int number, number_channel, number_last_channel, number_last_private;
|
||||||
int number_found;
|
int number_found;
|
||||||
char str_number[32];
|
char str_number[32];
|
||||||
struct t_irc_channel *ptr_channel;
|
const char *ptr_type, *ptr_server_name;
|
||||||
|
struct t_hdata *hdata_buffer;
|
||||||
|
struct t_gui_buffer *ptr_buffer;
|
||||||
|
|
||||||
number = weechat_buffer_get_integer (buffer, "number");
|
number = weechat_buffer_get_integer (buffer, "number");
|
||||||
number_last_channel = 0;
|
number_last_channel = 0;
|
||||||
number_last_private = 0;
|
number_last_private = 0;
|
||||||
number_found = 0;
|
number_found = 0;
|
||||||
|
|
||||||
if (server->channels)
|
hdata_buffer = weechat_hdata_get ("buffer");
|
||||||
|
ptr_buffer = weechat_hdata_get_list (hdata_buffer, "gui_buffers");
|
||||||
|
while (ptr_buffer)
|
||||||
{
|
{
|
||||||
/* search last channel/pv number for server */
|
if ((ptr_buffer != buffer)
|
||||||
for (ptr_channel = server->channels; ptr_channel;
|
&& (weechat_buffer_get_pointer (ptr_buffer,
|
||||||
ptr_channel = ptr_channel->next_channel)
|
"plugin") == weechat_irc_plugin))
|
||||||
{
|
{
|
||||||
if (ptr_channel->buffer)
|
ptr_type = weechat_buffer_get_string (ptr_buffer,
|
||||||
|
"localvar_type");
|
||||||
|
ptr_server_name = weechat_buffer_get_string (ptr_buffer,
|
||||||
|
"localvar_server");
|
||||||
|
number_channel = weechat_buffer_get_integer (ptr_buffer,
|
||||||
|
"number");
|
||||||
|
if (ptr_type && ptr_type[0]
|
||||||
|
&& ptr_server_name && ptr_server_name[0]
|
||||||
|
&& (strcmp (ptr_server_name, server->name) == 0))
|
||||||
{
|
{
|
||||||
number_channel = weechat_buffer_get_integer (
|
if (strcmp (ptr_type, "channel") == 0)
|
||||||
ptr_channel->buffer, "number");
|
|
||||||
switch (ptr_channel->type)
|
|
||||||
{
|
{
|
||||||
case IRC_CHANNEL_TYPE_CHANNEL:
|
if (number_channel > number_last_channel)
|
||||||
if (number_channel > number_last_channel)
|
number_last_channel = number_channel;
|
||||||
number_last_channel = number_channel;
|
}
|
||||||
break;
|
else if (strcmp (ptr_type, "private") == 0)
|
||||||
case IRC_CHANNEL_TYPE_PRIVATE:
|
{
|
||||||
if (number_channel > number_last_private)
|
if (number_channel > number_last_private)
|
||||||
number_last_private = number_channel;
|
number_last_private = number_channel;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/* move to next buffer */
|
||||||
/* use last channel/pv number + 1 */
|
ptr_buffer = weechat_hdata_move (hdata_buffer, ptr_buffer, 1);
|
||||||
switch (channel_type)
|
|
||||||
{
|
|
||||||
case IRC_CHANNEL_TYPE_CHANNEL:
|
|
||||||
if (number_last_channel > 0)
|
|
||||||
number_found = number_last_channel + 1;
|
|
||||||
break;
|
|
||||||
case IRC_CHANNEL_TYPE_PRIVATE:
|
|
||||||
if (number_last_private > 0)
|
|
||||||
number_found = number_last_private + 1;
|
|
||||||
else if (number_last_channel > 0)
|
|
||||||
number_found = number_last_channel + 1;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
|
||||||
|
/* use last channel/pv number + 1 */
|
||||||
|
switch (channel_type)
|
||||||
{
|
{
|
||||||
if (weechat_config_integer (irc_config_look_server_buffer) ==
|
case IRC_CHANNEL_TYPE_CHANNEL:
|
||||||
IRC_CONFIG_LOOK_SERVER_BUFFER_INDEPENDENT)
|
if (number_last_channel > 0)
|
||||||
{
|
number_found = number_last_channel + 1;
|
||||||
number_found = weechat_buffer_get_integer (server->buffer, "number") + 1;
|
break;
|
||||||
}
|
case IRC_CHANNEL_TYPE_PRIVATE:
|
||||||
|
if (number_last_private > 0)
|
||||||
|
number_found = number_last_private + 1;
|
||||||
|
else if (number_last_channel > 0)
|
||||||
|
number_found = number_last_channel + 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((number_found == 0)
|
||||||
|
&& (weechat_config_integer (irc_config_look_server_buffer) ==
|
||||||
|
IRC_CONFIG_LOOK_SERVER_BUFFER_INDEPENDENT))
|
||||||
|
{
|
||||||
|
number_found = weechat_buffer_get_integer (server->buffer, "number") + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* switch to number found */
|
/* switch to number found */
|
||||||
@ -169,12 +179,12 @@ irc_channel_search (struct t_irc_server *server, const char *channel_name)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
struct t_gui_buffer *
|
struct t_gui_buffer *
|
||||||
irc_channel_search_buffer (struct t_irc_server *server,
|
irc_channel_search_buffer (struct t_irc_server *server, int channel_type,
|
||||||
const char *channel_name)
|
const char *channel_name)
|
||||||
{
|
{
|
||||||
struct t_hdata *hdata_buffer;
|
struct t_hdata *hdata_buffer;
|
||||||
struct t_gui_buffer *ptr_buffer;
|
struct t_gui_buffer *ptr_buffer;
|
||||||
const char *ptr_server_name, *ptr_channel_name;
|
const char *ptr_type, *ptr_server_name, *ptr_channel_name;
|
||||||
|
|
||||||
hdata_buffer = weechat_hdata_get ("buffer");
|
hdata_buffer = weechat_hdata_get ("buffer");
|
||||||
ptr_buffer = weechat_hdata_get_list (hdata_buffer, "gui_buffers");
|
ptr_buffer = weechat_hdata_get_list (hdata_buffer, "gui_buffers");
|
||||||
@ -184,12 +194,18 @@ irc_channel_search_buffer (struct t_irc_server *server,
|
|||||||
if (weechat_buffer_get_pointer (ptr_buffer,
|
if (weechat_buffer_get_pointer (ptr_buffer,
|
||||||
"plugin") == weechat_irc_plugin)
|
"plugin") == weechat_irc_plugin)
|
||||||
{
|
{
|
||||||
|
ptr_type = weechat_buffer_get_string (ptr_buffer, "localvar_type");
|
||||||
ptr_server_name = weechat_buffer_get_string (ptr_buffer,
|
ptr_server_name = weechat_buffer_get_string (ptr_buffer,
|
||||||
"localvar_server");
|
"localvar_server");
|
||||||
ptr_channel_name = weechat_buffer_get_string (ptr_buffer,
|
ptr_channel_name = weechat_buffer_get_string (ptr_buffer,
|
||||||
"localvar_channel");
|
"localvar_channel");
|
||||||
if (ptr_server_name && ptr_server_name[0]
|
if (ptr_type && ptr_type[0]
|
||||||
|
&& ptr_server_name && ptr_server_name[0]
|
||||||
&& ptr_channel_name && ptr_channel_name[0]
|
&& ptr_channel_name && ptr_channel_name[0]
|
||||||
|
&& (((channel_type == IRC_CHANNEL_TYPE_CHANNEL)
|
||||||
|
&& (strcmp (ptr_type, "channel") == 0))
|
||||||
|
|| ((channel_type == IRC_CHANNEL_TYPE_PRIVATE)
|
||||||
|
&& (strcmp (ptr_type, "private") == 0)))
|
||||||
&& (strcmp (ptr_server_name, server->name) == 0)
|
&& (strcmp (ptr_server_name, server->name) == 0)
|
||||||
&& ((irc_server_strcasecmp (server, ptr_channel_name,
|
&& ((irc_server_strcasecmp (server, ptr_channel_name,
|
||||||
channel_name) == 0)))
|
channel_name) == 0)))
|
||||||
@ -227,9 +243,12 @@ irc_channel_create_buffer (struct t_irc_server *server,
|
|||||||
|
|
||||||
buffer_name = irc_buffer_build_name (server->name, channel_name);
|
buffer_name = irc_buffer_build_name (server->name, channel_name);
|
||||||
|
|
||||||
ptr_buffer = irc_channel_search_buffer (server, channel_name);
|
ptr_buffer = irc_channel_search_buffer (server, channel_type,
|
||||||
|
channel_name);
|
||||||
if (ptr_buffer)
|
if (ptr_buffer)
|
||||||
|
{
|
||||||
weechat_nicklist_remove_all (ptr_buffer);
|
weechat_nicklist_remove_all (ptr_buffer);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ptr_buffer_for_merge = NULL;
|
ptr_buffer_for_merge = NULL;
|
||||||
|
@ -2330,6 +2330,7 @@ irc_command_join (void *data, struct t_gui_buffer *buffer, int argc,
|
|||||||
char **argv, char **argv_eol)
|
char **argv, char **argv_eol)
|
||||||
{
|
{
|
||||||
int i, arg_channels, noswitch;
|
int i, arg_channels, noswitch;
|
||||||
|
const char *ptr_type, *ptr_server_name, *ptr_channel_name;
|
||||||
|
|
||||||
IRC_BUFFER_GET_SERVER_CHANNEL(buffer);
|
IRC_BUFFER_GET_SERVER_CHANNEL(buffer);
|
||||||
|
|
||||||
@ -2363,6 +2364,18 @@ irc_command_join (void *data, struct t_gui_buffer *buffer, int argc,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!ptr_server)
|
||||||
|
{
|
||||||
|
if ((weechat_buffer_get_pointer (buffer,
|
||||||
|
"plugin") == weechat_irc_plugin))
|
||||||
|
{
|
||||||
|
ptr_server_name = weechat_buffer_get_string (buffer,
|
||||||
|
"localvar_server");
|
||||||
|
if (ptr_server_name)
|
||||||
|
ptr_server = irc_server_search (ptr_server_name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
IRC_COMMAND_CHECK_SERVER("join", 1);
|
IRC_COMMAND_CHECK_SERVER("join", 1);
|
||||||
|
|
||||||
if (arg_channels < argc)
|
if (arg_channels < argc)
|
||||||
@ -2379,7 +2392,21 @@ irc_command_join (void *data, struct t_gui_buffer *buffer, int argc,
|
|||||||
1, noswitch);
|
1, noswitch);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
WEECHAT_COMMAND_ERROR;
|
{
|
||||||
|
ptr_type = weechat_buffer_get_string (buffer, "localvar_type");
|
||||||
|
ptr_channel_name = weechat_buffer_get_string (buffer,
|
||||||
|
"localvar_channel");
|
||||||
|
if ((weechat_buffer_get_pointer (buffer,
|
||||||
|
"plugin") == weechat_irc_plugin)
|
||||||
|
&& ptr_type && ptr_channel_name
|
||||||
|
&& (strcmp (ptr_type, "channel") == 0))
|
||||||
|
{
|
||||||
|
irc_command_join_server (ptr_server, ptr_channel_name,
|
||||||
|
1, noswitch);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
WEECHAT_COMMAND_ERROR;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return WEECHAT_RC_OK;
|
return WEECHAT_RC_OK;
|
||||||
@ -3623,6 +3650,7 @@ irc_command_part (void *data, struct t_gui_buffer *buffer, int argc,
|
|||||||
{
|
{
|
||||||
if (irc_channel_is_channel (ptr_server, argv[1]))
|
if (irc_channel_is_channel (ptr_server, argv[1]))
|
||||||
{
|
{
|
||||||
|
ptr_channel = irc_channel_search (ptr_server, argv[1]);
|
||||||
channel_name = argv[1];
|
channel_name = argv[1];
|
||||||
pos_args = argv_eol[2];
|
pos_args = argv_eol[2];
|
||||||
}
|
}
|
||||||
@ -3652,15 +3680,20 @@ irc_command_part (void *data, struct t_gui_buffer *buffer, int argc,
|
|||||||
weechat_prefix ("error"), IRC_PLUGIN_NAME, "part");
|
weechat_prefix ("error"), IRC_PLUGIN_NAME, "part");
|
||||||
return WEECHAT_RC_OK;
|
return WEECHAT_RC_OK;
|
||||||
}
|
}
|
||||||
if (!ptr_channel->nicks)
|
|
||||||
{
|
|
||||||
weechat_buffer_close (ptr_channel->buffer);
|
|
||||||
return WEECHAT_RC_OK;
|
|
||||||
}
|
|
||||||
channel_name = ptr_channel->name;
|
channel_name = ptr_channel->name;
|
||||||
pos_args = NULL;
|
pos_args = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ptr_channel && !ptr_channel->nicks)
|
||||||
|
{
|
||||||
|
if ((ptr_channel->type == IRC_CHANNEL_TYPE_PRIVATE)
|
||||||
|
|| weechat_config_boolean (irc_config_look_part_closes_buffer))
|
||||||
|
{
|
||||||
|
weechat_buffer_close (ptr_channel->buffer);
|
||||||
|
}
|
||||||
|
return WEECHAT_RC_OK;
|
||||||
|
}
|
||||||
|
|
||||||
irc_command_part_channel (ptr_server, channel_name, pos_args);
|
irc_command_part_channel (ptr_server, channel_name, pos_args);
|
||||||
|
|
||||||
return WEECHAT_RC_OK;
|
return WEECHAT_RC_OK;
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
%define name weechat
|
%define name weechat
|
||||||
%define version 1.1
|
%define version 1.1.1
|
||||||
%define release 1
|
%define release 1
|
||||||
|
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
@ -77,6 +77,8 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%{_prefix}/share/icons/hicolor/32x32/apps/weechat.png
|
%{_prefix}/share/icons/hicolor/32x32/apps/weechat.png
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sun Jan 25 2015 Sébastien Helleu <flashcode@flashtux.org> 1.1.1-1
|
||||||
|
- Released version 1.1.1
|
||||||
* Sun Jan 11 2015 Sébastien Helleu <flashcode@flashtux.org> 1.1-1
|
* Sun Jan 11 2015 Sébastien Helleu <flashcode@flashtux.org> 1.1-1
|
||||||
- Released version 1.1
|
- Released version 1.1
|
||||||
* Sun Sep 28 2014 Sébastien Helleu <flashcode@flashtux.org> 1.0.1-1
|
* Sun Sep 28 2014 Sébastien Helleu <flashcode@flashtux.org> 1.0.1-1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user