mirror of
https://github.com/Tha14/toxic.git
synced 2024-11-26 23:53:28 +01:00
Merged upstream and other fixes
This commit is contained in:
commit
48361a003e
@ -64,7 +64,8 @@ toxic_SOURCES += $(top_srcdir)/src/audio_call.c \
|
|||||||
$(top_srcdir)/src/device.h
|
$(top_srcdir)/src/device.h
|
||||||
|
|
||||||
toxic_CFLAGS += $(LIBTOXAV_CFLAGS) \
|
toxic_CFLAGS += $(LIBTOXAV_CFLAGS) \
|
||||||
$(OPENAL_CFLAGS)
|
$(OPENAL_CFLAGS) \
|
||||||
|
-Wimplicit-function-declaration
|
||||||
|
|
||||||
toxic_LDADD += $(LIBTOXAV_LIBS) \
|
toxic_LDADD += $(LIBTOXAV_LIBS) \
|
||||||
$(OPENAL_LIBS)
|
$(OPENAL_LIBS)
|
||||||
|
@ -43,7 +43,6 @@ void terminate_audio();
|
|||||||
|
|
||||||
int start_transmission(ToxWindow *self);
|
int start_transmission(ToxWindow *self);
|
||||||
int stop_transmission(int call_index);
|
int stop_transmission(int call_index);
|
||||||
int device_set(ToxWindow* self, DeviceType type, long int selection);
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* _audio_h */
|
#endif /* _audio_h */
|
||||||
|
@ -20,6 +20,8 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define _GNU_SOURCE /* needed for strcasestr() and wcwidth() */
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#endif
|
#endif
|
||||||
@ -27,6 +29,7 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
#include <wchar.h>
|
||||||
|
|
||||||
#include "toxic.h"
|
#include "toxic.h"
|
||||||
#include "windows.h"
|
#include "windows.h"
|
||||||
@ -43,7 +46,6 @@
|
|||||||
#endif /* _SUPPORT_AUDIO */
|
#endif /* _SUPPORT_AUDIO */
|
||||||
|
|
||||||
extern char *DATA_FILE;
|
extern char *DATA_FILE;
|
||||||
extern int store_data(Tox *m, char *path);
|
|
||||||
|
|
||||||
extern FileSender file_senders[MAX_FILES];
|
extern FileSender file_senders[MAX_FILES];
|
||||||
extern ToxicFriend friends[MAX_FRIENDS_NUM];
|
extern ToxicFriend friends[MAX_FRIENDS_NUM];
|
||||||
|
@ -33,6 +33,7 @@
|
|||||||
#include "friendlist.h"
|
#include "friendlist.h"
|
||||||
#include "execute.h"
|
#include "execute.h"
|
||||||
#include "line_info.h"
|
#include "line_info.h"
|
||||||
|
#include "groupchat.h"
|
||||||
|
|
||||||
extern ToxWindow *prompt;
|
extern ToxWindow *prompt;
|
||||||
|
|
||||||
|
@ -323,16 +323,17 @@ inline__ DeviceError write_out(uint32_t device_idx, int16_t* data, uint32_t leng
|
|||||||
alSourceUnqueueBuffers(device->source, 1, &buffer);
|
alSourceUnqueueBuffers(device->source, 1, &buffer);
|
||||||
alBufferData(buffer, AL_FORMAT_MONO16, data, lenght * 2 * 1 /*channels*/, sample_rate); // TODO: Frequency must be set dynamically
|
alBufferData(buffer, AL_FORMAT_MONO16, data, lenght * 2 * 1 /*channels*/, sample_rate); // TODO: Frequency must be set dynamically
|
||||||
|
|
||||||
|
int rc = alGetError();
|
||||||
if (alGetError() != AL_NO_ERROR) {
|
if (rc != AL_NO_ERROR) {
|
||||||
fprintf(stderr, "Error setting buffer %d\n");
|
fprintf(stderr, "Error setting buffer %d\n", rc);
|
||||||
return de_BufferError;
|
return de_BufferError;
|
||||||
}
|
}
|
||||||
|
|
||||||
alSourceQueueBuffers(device->source, 1, &buffer);
|
alSourceQueueBuffers(device->source, 1, &buffer);
|
||||||
|
|
||||||
|
rc = alGetError();
|
||||||
if (alGetError() != AL_NO_ERROR) {
|
if (alGetError() != AL_NO_ERROR) {
|
||||||
fprintf(stderr, "Error: could not buffer audio\n");
|
fprintf(stderr, "Error: could not buffer audio: %d\n", rc);
|
||||||
return de_BufferError;
|
return de_BufferError;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -34,6 +34,7 @@
|
|||||||
#include "chat_commands.h"
|
#include "chat_commands.h"
|
||||||
#include "global_commands.h"
|
#include "global_commands.h"
|
||||||
#include "line_info.h"
|
#include "line_info.h"
|
||||||
|
#include "misc_tools.h"
|
||||||
|
|
||||||
struct cmd_func {
|
struct cmd_func {
|
||||||
const char *name;
|
const char *name;
|
||||||
|
@ -32,6 +32,7 @@
|
|||||||
#include "windows.h"
|
#include "windows.h"
|
||||||
#include "file_senders.h"
|
#include "file_senders.h"
|
||||||
#include "line_info.h"
|
#include "line_info.h"
|
||||||
|
#include "misc_tools.h"
|
||||||
|
|
||||||
FileSender file_senders[MAX_FILES];
|
FileSender file_senders[MAX_FILES];
|
||||||
uint8_t max_file_senders_index;
|
uint8_t max_file_senders_index;
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <arpa/inet.h>
|
||||||
|
|
||||||
#include "toxic.h"
|
#include "toxic.h"
|
||||||
#include "windows.h"
|
#include "windows.h"
|
||||||
@ -34,6 +35,8 @@
|
|||||||
#include "log.h"
|
#include "log.h"
|
||||||
#include "line_info.h"
|
#include "line_info.h"
|
||||||
#include "dns.h"
|
#include "dns.h"
|
||||||
|
#include "groupchat.h"
|
||||||
|
#include "prompt.h"
|
||||||
|
|
||||||
extern char *DATA_FILE;
|
extern char *DATA_FILE;
|
||||||
extern ToxWindow *prompt;
|
extern ToxWindow *prompt;
|
||||||
|
@ -20,6 +20,8 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define _GNU_SOURCE /* needed for strcasestr() and wcwidth() */
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#endif
|
#endif
|
||||||
@ -27,6 +29,7 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
#include <wchar.h>
|
||||||
|
|
||||||
#include "windows.h"
|
#include "windows.h"
|
||||||
#include "toxic.h"
|
#include "toxic.h"
|
||||||
@ -40,7 +43,6 @@
|
|||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
|
|
||||||
extern char *DATA_FILE;
|
extern char *DATA_FILE;
|
||||||
extern int store_data(Tox *m, char *path);
|
|
||||||
|
|
||||||
static GroupChat groupchats[MAX_GROUPCHAT_NUM];
|
static GroupChat groupchats[MAX_GROUPCHAT_NUM];
|
||||||
static int max_groupchat_index = 0;
|
static int max_groupchat_index = 0;
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <ctype.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
|
@ -58,6 +58,9 @@ int char_to_wcs_buf(wchar_t *buf, const uint8_t *string, size_t n);
|
|||||||
Same thing as wcs_to_mbs() but caller must provide its own buffer */
|
Same thing as wcs_to_mbs() but caller must provide its own buffer */
|
||||||
int wcs_to_mbs_buf(uint8_t *buf, const wchar_t *string, size_t n);
|
int wcs_to_mbs_buf(uint8_t *buf, const wchar_t *string, size_t n);
|
||||||
|
|
||||||
|
/* convert a multibyte string to a wide character string (must provide buffer) */
|
||||||
|
int mbs_to_wcs_buf(wchar_t *buf, const uint8_t *string, size_t n);
|
||||||
|
|
||||||
/* convert wide characters to multibyte string: string returned must be free'd */
|
/* convert wide characters to multibyte string: string returned must be free'd */
|
||||||
uint8_t *wcs_to_mbs(wchar_t *string);
|
uint8_t *wcs_to_mbs(wchar_t *string);
|
||||||
|
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <wchar.h>
|
||||||
|
|
||||||
#include "toxic.h"
|
#include "toxic.h"
|
||||||
#include "windows.h"
|
#include "windows.h"
|
||||||
|
@ -57,6 +57,7 @@
|
|||||||
#include "file_senders.h"
|
#include "file_senders.h"
|
||||||
#include "line_info.h"
|
#include "line_info.h"
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
|
#include "log.h"
|
||||||
|
|
||||||
#ifdef _SUPPORT_AUDIO
|
#ifdef _SUPPORT_AUDIO
|
||||||
#include "audio_call.h"
|
#include "audio_call.h"
|
||||||
|
@ -78,6 +78,8 @@ typedef enum _FATAL_ERRS {
|
|||||||
void exit_toxic_success(Tox *m);
|
void exit_toxic_success(Tox *m);
|
||||||
void exit_toxic_err(const char *errmsg, int errcode);
|
void exit_toxic_err(const char *errmsg, int errcode);
|
||||||
|
|
||||||
|
int store_data(Tox *m, char *path);
|
||||||
|
|
||||||
void on_request(Tox *m, const uint8_t *public_key, const uint8_t *data, uint16_t length, void *userdata);
|
void on_request(Tox *m, const uint8_t *public_key, const uint8_t *data, uint16_t length, void *userdata);
|
||||||
void on_connectionchange(Tox *m, int32_t friendnumber, uint8_t status, void *userdata);
|
void on_connectionchange(Tox *m, int32_t friendnumber, uint8_t status, void *userdata);
|
||||||
void on_message(Tox *m, int32_t friendnumber, uint8_t *string, uint16_t length, void *userdata);
|
void on_message(Tox *m, int32_t friendnumber, uint8_t *string, uint16_t length, void *userdata);
|
||||||
|
@ -47,7 +47,7 @@ void add_char_to_buf(ChatContext *ctx, wint_t ch)
|
|||||||
/* Deletes the character before pos */
|
/* Deletes the character before pos */
|
||||||
void del_char_buf_bck(ChatContext *ctx)
|
void del_char_buf_bck(ChatContext *ctx)
|
||||||
{
|
{
|
||||||
if (ctx->pos <= 0)
|
if (ctx->pos == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
wmemmove(&ctx->line[ctx->pos - 1], &ctx->line[ctx->pos], ctx->len - ctx->pos);
|
wmemmove(&ctx->line[ctx->pos - 1], &ctx->line[ctx->pos], ctx->len - ctx->pos);
|
||||||
@ -58,7 +58,7 @@ void del_char_buf_bck(ChatContext *ctx)
|
|||||||
/* Deletes the character at pos */
|
/* Deletes the character at pos */
|
||||||
void del_char_buf_frnt(ChatContext *ctx)
|
void del_char_buf_frnt(ChatContext *ctx)
|
||||||
{
|
{
|
||||||
if (ctx->pos < 0 || ctx->pos >= ctx->len)
|
if (ctx->pos >= ctx->len)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
wmemmove(&ctx->line[ctx->pos], &ctx->line[ctx->pos + 1], ctx->len - ctx->pos - 1);
|
wmemmove(&ctx->line[ctx->pos], &ctx->line[ctx->pos + 1], ctx->len - ctx->pos - 1);
|
||||||
|
@ -27,12 +27,15 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
|
#include <ctype.h>
|
||||||
|
|
||||||
#include "friendlist.h"
|
#include "friendlist.h"
|
||||||
#include "prompt.h"
|
#include "prompt.h"
|
||||||
#include "toxic.h"
|
#include "toxic.h"
|
||||||
#include "windows.h"
|
#include "windows.h"
|
||||||
#include "groupchat.h"
|
#include "groupchat.h"
|
||||||
|
#include "chat.h"
|
||||||
|
#include "line_info.h"
|
||||||
|
|
||||||
extern char *DATA_FILE;
|
extern char *DATA_FILE;
|
||||||
extern struct _Winthread Winthread;
|
extern struct _Winthread Winthread;
|
||||||
|
@ -180,4 +180,8 @@ int get_num_active_windows(void);
|
|||||||
void kill_all_windows(void); /* should only be called on shutdown */
|
void kill_all_windows(void); /* should only be called on shutdown */
|
||||||
void on_window_resize(int sig);
|
void on_window_resize(int sig);
|
||||||
|
|
||||||
|
/* refresh inactive windows to prevent scrolling bugs.
|
||||||
|
call at least once per second */
|
||||||
|
void refresh_inactive_windows(void);
|
||||||
|
|
||||||
#endif /* #define _windows_h */
|
#endif /* #define _windows_h */
|
||||||
|
Loading…
Reference in New Issue
Block a user