If not using sticky mode (the default), clients aren't automagically
assigned a group, thus cc->group will be NULL - fix the client group shortcut in menu lists; crash reported by Christian Neukirchen.
This commit is contained in:
parent
a7402e9e1c
commit
a6e6db763a
@ -16,7 +16,7 @@
|
|||||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
*
|
*
|
||||||
* $OpenBSD: mousefunc.c,v 1.60 2013/12/02 19:30:27 okan Exp $
|
* $OpenBSD: mousefunc.c,v 1.61 2013/12/08 13:51:38 okan Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
@ -231,8 +231,8 @@ mousefunc_menu_unhide(struct client_ctx *cc, void *arg)
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
mi = xcalloc(1, sizeof(*mi));
|
mi = xcalloc(1, sizeof(*mi));
|
||||||
(void)snprintf(mi->text, sizeof(mi->text),
|
(void)snprintf(mi->text, sizeof(mi->text), "(%d) %s",
|
||||||
"(%d) %s", cc->group->shortcut, wname);
|
cc->group ? cc->group->shortcut : 0, wname);
|
||||||
mi->ctx = cc;
|
mi->ctx = cc;
|
||||||
TAILQ_INSERT_TAIL(&menuq, mi, entry);
|
TAILQ_INSERT_TAIL(&menuq, mi, entry);
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
*
|
*
|
||||||
* $OpenBSD: search.c,v 1.32 2013/12/02 19:30:27 okan Exp $
|
* $OpenBSD: search.c,v 1.33 2013/12/08 13:51:38 okan Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
@ -143,7 +143,7 @@ search_print_client(struct menu *mi, int list)
|
|||||||
cc->matchname = cc->name;
|
cc->matchname = cc->name;
|
||||||
|
|
||||||
(void)snprintf(mi->print, sizeof(mi->print), "(%d) %c%s",
|
(void)snprintf(mi->print, sizeof(mi->print), "(%d) %c%s",
|
||||||
cc->group->shortcut, flag, cc->matchname);
|
cc->group ? cc->group->shortcut : 0, flag, cc->matchname);
|
||||||
|
|
||||||
if (!list && cc->matchname != cc->name &&
|
if (!list && cc->matchname != cc->name &&
|
||||||
strlen(mi->print) < sizeof(mi->print) - 1) {
|
strlen(mi->print) < sizeof(mi->print) - 1) {
|
||||||
|
Loading…
Reference in New Issue
Block a user