Fri, 20 Jun 2003 03:32:42 +0000
[gaim-migrate @ 6364]
This should fix the bug where Set User Info would sometimes crash. It
attempted to access a field in account, which on the old system was a
static buffer, and would always have some kind of value, but in the new
one, it could be NULL. Kaboom!
| 1 | 1 | /* |
| 2 | * gaim | |
| 3 | * | |
| 4561 | 4 | * Copyright (C) 2003, Nathan Walp <faceprint@faceprint.com> |
| 1 | 5 | * |
| 6 | * This program is free software; you can redistribute it and/or modify | |
| 7 | * it under the terms of the GNU General Public License as published by | |
| 8 | * the Free Software Foundation; either version 2 of the License, or | |
| 9 | * (at your option) any later version. | |
| 10 | * | |
| 11 | * This program is distributed in the hope that it will be useful, | |
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 14 | * GNU General Public License for more details. | |
| 15 | * | |
| 16 | * You should have received a copy of the GNU General Public License | |
| 17 | * along with this program; if not, write to the Free Software | |
| 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| 19 | * | |
| 20 | */ | |
|
5872
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5684
diff
changeset
|
21 | #include "internal.h" |
| 3630 | 22 | |
| 4561 | 23 | #include "sound.h" |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
24 | #include "prefs.h" |
| 1 | 25 | |
|
5872
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5684
diff
changeset
|
26 | /* XXX: this goes away when away messages become sane */ |
|
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5684
diff
changeset
|
27 | #include "ui.h" |
|
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5684
diff
changeset
|
28 | |
|
4019
450d7e314aea
[gaim-migrate @ 4219]
Herman Bloggs <herman@bluedigits.com>
parents:
4014
diff
changeset
|
29 | |
| 5684 | 30 | static GaimSoundUiOps *sound_ui_ops = NULL; |
| 3319 | 31 | |
| 5684 | 32 | void gaim_set_sound_ui_ops(GaimSoundUiOps *ops) |
|
4430
95df701e8cdf
[gaim-migrate @ 4705]
Robert McQueen <robot101@debian.org>
parents:
4429
diff
changeset
|
33 | { |
| 5684 | 34 | if(sound_ui_ops && sound_ui_ops->shutdown) |
| 35 | sound_ui_ops->shutdown(); | |
| 36 | sound_ui_ops = ops; | |
| 37 | if(sound_ui_ops && sound_ui_ops->init) | |
| 38 | sound_ui_ops->init(); | |
|
4430
95df701e8cdf
[gaim-migrate @ 4705]
Robert McQueen <robot101@debian.org>
parents:
4429
diff
changeset
|
39 | } |
|
95df701e8cdf
[gaim-migrate @ 4705]
Robert McQueen <robot101@debian.org>
parents:
4429
diff
changeset
|
40 | |
| 5684 | 41 | GaimSoundUiOps *gaim_get_sound_ui_ops(void) |
|
4430
95df701e8cdf
[gaim-migrate @ 4705]
Robert McQueen <robot101@debian.org>
parents:
4429
diff
changeset
|
42 | { |
| 5684 | 43 | return sound_ui_ops; |
| 4581 | 44 | } |
| 45 | ||
| 5684 | 46 | void gaim_sound_init() |
| 47 | { | |
| 48 | gaim_prefs_add_none("/core/sound"); | |
| 49 | gaim_prefs_add_bool("/core/sound/while_away", FALSE); | |
| 50 | } | |
| 4581 | 51 | |
| 5684 | 52 | void gaim_sound_shutdown() |
|
4430
95df701e8cdf
[gaim-migrate @ 4705]
Robert McQueen <robot101@debian.org>
parents:
4429
diff
changeset
|
53 | { |
| 5684 | 54 | if(sound_ui_ops && sound_ui_ops->shutdown) |
| 55 | sound_ui_ops->shutdown(); | |
| 56 | } | |
|
4430
95df701e8cdf
[gaim-migrate @ 4705]
Robert McQueen <robot101@debian.org>
parents:
4429
diff
changeset
|
57 | |
| 5684 | 58 | void gaim_sound_play_file(const char *filename) |
| 59 | { | |
| 60 | if(awaymessage && !gaim_prefs_get_bool("/core/sound/while_away")) | |
| 4561 | 61 | return; |
|
4430
95df701e8cdf
[gaim-migrate @ 4705]
Robert McQueen <robot101@debian.org>
parents:
4429
diff
changeset
|
62 | |
| 5684 | 63 | if(sound_ui_ops && sound_ui_ops->play_file) |
| 64 | sound_ui_ops->play_file(filename); | |
|
1006
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
899
diff
changeset
|
65 | } |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
899
diff
changeset
|
66 | |
| 4561 | 67 | void gaim_sound_play_event(GaimSoundEventID event) |
| 1 | 68 | { |
| 5684 | 69 | if(awaymessage && !gaim_prefs_get_bool("/core/sound/while_away")) |
| 4561 | 70 | return; |
| 71 | ||
| 5684 | 72 | if(sound_ui_ops && sound_ui_ops->play_event) |
| 73 | sound_ui_ops->play_event(event); | |
| 4561 | 74 | } |