mirror of
https://github.com/Tha14/toxic.git
synced 2024-11-23 06:33:02 +01:00
possibly fix sound notification bug
This commit is contained in:
parent
4e9f125e95
commit
be264528d2
@ -384,8 +384,7 @@ void dns3_lookup(ToxWindow *self, Tox *m, const char *id_bin, const char *addr,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (t_data.busy) {
|
if (t_data.busy) {
|
||||||
const char *err = "Please wait for previous user lookup to finish.";
|
line_info_add(self, NULL, NULL, NULL, SYS_MSG, 0, 0, "Please wait for previous user lookup to finish.");
|
||||||
line_info_add(self, NULL, NULL, NULL, SYS_MSG, 0, 0, err);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
21
src/notify.c
21
src/notify.c
@ -101,7 +101,7 @@ struct _ActiveNotifications {
|
|||||||
size_t size;
|
size_t size;
|
||||||
time_t n_timeout;
|
time_t n_timeout;
|
||||||
#endif
|
#endif
|
||||||
} actives[ACTIVE_NOTIFS_MAX] = {{0}};
|
} actives[ACTIVE_NOTIFS_MAX];
|
||||||
/**********************************************************************************/
|
/**********************************************************************************/
|
||||||
/**********************************************************************************/
|
/**********************************************************************************/
|
||||||
/**********************************************************************************/
|
/**********************************************************************************/
|
||||||
@ -209,7 +209,7 @@ void graceful_clear()
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if(actives[i].id_indicator) *actives[i].id_indicator = -1; // reset indicator value
|
*actives[i].id_indicator = -1; /* reset indicator value */
|
||||||
|
|
||||||
if ( actives[i].looping ) {
|
if ( actives[i].looping ) {
|
||||||
stop_sound(i);
|
stop_sound(i);
|
||||||
@ -255,7 +255,7 @@ void* do_playing(void* _p)
|
|||||||
/* Close */
|
/* Close */
|
||||||
alSourceStop(actives[i].source);
|
alSourceStop(actives[i].source);
|
||||||
alDeleteSources(1, &actives[i].source);
|
alDeleteSources(1, &actives[i].source);
|
||||||
alDeleteBuffers(1,&actives[i].buffer);
|
alDeleteBuffers(1, &actives[i].buffer);
|
||||||
memset(&actives[i], 0, sizeof(struct _ActiveNotifications));
|
memset(&actives[i], 0, sizeof(struct _ActiveNotifications));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -265,8 +265,7 @@ void* do_playing(void* _p)
|
|||||||
GError* ignore;
|
GError* ignore;
|
||||||
notify_notification_close(actives[i].box, &ignore);
|
notify_notification_close(actives[i].box, &ignore);
|
||||||
actives[i].box = NULL;
|
actives[i].box = NULL;
|
||||||
|
*actives[i].id_indicator = -1; /* reset indicator value */
|
||||||
if(actives[i].id_indicator) *actives[i].id_indicator = -1; // reset indicator value
|
|
||||||
|
|
||||||
if (!actives[i].looping && !is_playing(actives[i].source)) {
|
if (!actives[i].looping && !is_playing(actives[i].source)) {
|
||||||
/* stop source if not looping or playing, just terminate box */
|
/* stop source if not looping or playing, just terminate box */
|
||||||
@ -323,8 +322,7 @@ void* do_playing(void* _p)
|
|||||||
GError* ignore;
|
GError* ignore;
|
||||||
notify_notification_close(actives[i].box, &ignore);
|
notify_notification_close(actives[i].box, &ignore);
|
||||||
actives[i].box = NULL;
|
actives[i].box = NULL;
|
||||||
|
*actives[i].id_indicator = -1; /* reset indicator value */
|
||||||
if(actives[i].id_indicator) *actives[i].id_indicator = -1; // reset indicator value
|
|
||||||
memset(&actives[i], 0, sizeof(struct _ActiveNotifications));
|
memset(&actives[i], 0, sizeof(struct _ActiveNotifications));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -346,7 +344,7 @@ void graceful_clear()
|
|||||||
actives[i].box = NULL;
|
actives[i].box = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(actives[i].id_indicator) *actives[i].id_indicator = -1; // reset indicator value
|
*actives[i].id_indicator = -1; /* reset indicator value */
|
||||||
memset(&actives[i], 0, sizeof(struct _ActiveNotifications));
|
memset(&actives[i], 0, sizeof(struct _ActiveNotifications));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -520,14 +518,13 @@ int sound_notify(ToxWindow* self, Notification notif, uint64_t flags, int* id_in
|
|||||||
|
|
||||||
if (self && (!self->stb || self->stb->status != TOX_USERSTATUS_BUSY) && user_settings->alerts == ALERTS_ENABLED)
|
if (self && (!self->stb || self->stb->status != TOX_USERSTATUS_BUSY) && user_settings->alerts == ALERTS_ENABLED)
|
||||||
id = m_play_sound(notif, flags);
|
id = m_play_sound(notif, flags);
|
||||||
|
|
||||||
else if (flags & NT_ALWAYS)
|
else if (flags & NT_ALWAYS)
|
||||||
id = m_play_sound(notif, flags);
|
id = m_play_sound(notif, flags);
|
||||||
|
|
||||||
#if defined(BOX_NOTIFY) && !defined(SOUND_NOTIFY)
|
#if defined(BOX_NOTIFY) && !defined(SOUND_NOTIFY)
|
||||||
|
|
||||||
if (id == -1) {
|
if (id == -1) {
|
||||||
for (id = 0; id < ACTIVE_NOTIFS_MAX && actives[id].box; id ++);
|
for (id = 0; id < ACTIVE_NOTIFS_MAX && actives[id].box; id++);
|
||||||
if ( id == ACTIVE_NOTIFS_MAX ) {
|
if ( id == ACTIVE_NOTIFS_MAX ) {
|
||||||
control_unlock();
|
control_unlock();
|
||||||
return -1; /* Full */
|
return -1; /* Full */
|
||||||
@ -627,7 +624,7 @@ int box_notify(ToxWindow* self, Notification notif, uint64_t flags, int* id_indi
|
|||||||
strcpy(actives[id].messages[0] + MAX_BOX_MSG_LEN - 3, "...");
|
strcpy(actives[id].messages[0] + MAX_BOX_MSG_LEN - 3, "...");
|
||||||
|
|
||||||
actives[id].box = notify_notification_new(actives[id].title, actives[id].messages[0], NULL);
|
actives[id].box = notify_notification_new(actives[id].title, actives[id].messages[0], NULL);
|
||||||
actives[id].size ++;
|
actives[id].size++;
|
||||||
actives[id].n_timeout = get_unix_time() + Control.notif_timeout / 1000;
|
actives[id].n_timeout = get_unix_time() + Control.notif_timeout / 1000;
|
||||||
|
|
||||||
notify_notification_set_timeout(actives[id].box, Control.notif_timeout);
|
notify_notification_set_timeout(actives[id].box, Control.notif_timeout);
|
||||||
@ -668,7 +665,7 @@ int box_notify2(ToxWindow* self, Notification notif, uint64_t flags, int id, con
|
|||||||
if (strlen(actives[id].messages[actives[id].size]) > MAX_BOX_MSG_LEN - 3)
|
if (strlen(actives[id].messages[actives[id].size]) > MAX_BOX_MSG_LEN - 3)
|
||||||
strcpy(actives[id].messages[actives[id].size] + MAX_BOX_MSG_LEN - 3, "...");
|
strcpy(actives[id].messages[actives[id].size] + MAX_BOX_MSG_LEN - 3, "...");
|
||||||
|
|
||||||
actives[id].size ++;
|
actives[id].size++;
|
||||||
actives[id].n_timeout = get_unix_time() + Control.notif_timeout / 1000;
|
actives[id].n_timeout = get_unix_time() + Control.notif_timeout / 1000;
|
||||||
|
|
||||||
char formated[128 * 129] = {'\0'};
|
char formated[128 * 129] = {'\0'};
|
||||||
|
Loading…
Reference in New Issue
Block a user