about summary refs log tree commit diff stats
path: root/client.c
diff options
context:
space:
mode:
authorAnselm R. Garbe <garbeam@wmii.de>2006-07-14 18:11:36 +0200
committerAnselm R. Garbe <garbeam@wmii.de>2006-07-14 18:11:36 +0200
commit6797ff84ae00d8039aa897d8b713ccdb771cd336 (patch)
tree2fcbdc12321f9bc483f6ab462c03896a44536943 /client.c
parente7fa504c3e095db65853afd39d2d1324d439dcf4 (diff)
downloaddwm-6797ff84ae00d8039aa897d8b713ccdb771cd336.tar.gz
fixed crash on zoom if only 1 client exists
Diffstat (limited to 'client.c')
-rw-r--r--client.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/client.c b/client.c
index e3e31b6..487cb0c 100644
--- a/client.c
+++ b/client.c
@@ -28,13 +28,15 @@ next(Client *c)
 void
 zoom(Arg *arg)
 {
-	Client **l;
+	Client **l, *c;
 
 	if(!sel)
 		return;
 
-	if(sel == next(clients)) 
-		sel = next(sel->next);
+	if(sel == next(clients) && sel->next)  {
+		if((c = next(sel->next)))
+			sel = c;
+	}
 
 	for(l = &clients; *l && *l != sel; l = &(*l)->next);
 	*l = sel->next;
@@ -497,6 +499,10 @@ resize(Client *c, Bool inc)
 		if(c->inch)
 			c->h -= (c->h - c->baseh) % c->inch;
 	}
+	if(c->x > sw) /* might happen on restart */
+		c->x = sw - c->w;
+	if(c->y > sh)
+		c->ty = c->y = sh - c->h;
 	if(c->minw && c->w < c->minw)
 		c->w = c->minw;
 	if(c->minh && c->h < c->minh)
href='#n172'>172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258
Accelerate
Accommodate
Add
Accept
Achieve
Adjust
Act
Acquire
Administer
Adapt
Advise
Agree
Alert
Allocate
Allow
Analyze
Answer
Anticipate
Apologize
Appoint
Appraise
Approve
Arrange
Articulate
Ascertain
Assess
Assign
Assist
Assume
Attend
Audit
Authorize
Award
Balance
Bargain
Benefit
Blend
Boost
Brief
Build
Calculate
Call
Cancel
Capture
Care
Carry
Catalogue
Categorize
Change
Check
Choose
Classify
Clean
Clear
Close
Coach
Collaborate
Collect
Combine
Communicate
Compare
Compete
Complain
Comply
Compose
Compute
Concentrate
Conceptualize
Conclude
Conduct
Confer
Confirm
Connect
Conserve
Consider
Consolidate
Construct
Consult
Contribute
Control
Convert
Coordinate
Correct
Correspond
Counsel
Create
Critique
Cultivate
Cut
Deal
Debate
Decide
Dedicate
Define
Delegate
Deliver
Demonstrate
Depend
Design
Detail
Develop
Devise
Diagnose
Differentiate
Direct
Discover
Discuss
Display
Distribute
Document
Draft
Draw
Drive
Earn
Edit
Educate
Effect
eat
watch
love
drink
see
hate
write
hear
admire
read
smell
support
visit
touch
help
meet
taste
teach
call
entertain
learn
text
visit
invite
email
meet
deliver
fax
call
ship
mail
text
sell
ship
email
buy
lend
fax
borrow
give
mail
take
throw
ship
catch
open
lend
close
lock
give
unlock
sleep
slept
sleeping
run
ran
running
laugh
laughed
laughing
cry
cried
crying
swim
swam
swimming
dance
danced
dancing
sing
sang
singing
walk
walked
walking
jump
jumped
jumping
sit
sat
sitting
stand
stood
standing
listen
listened
listening
talk
talked
talking
think
thought
thinking
wonder
wondered
wondering
arrive
arrived
arriving
depart
departed
departing
appear
appeared
appearing
disappear
disappeared
disappearing
fall
fell
falling
rise
rose
rising
shine
shone
shining
glow
glowed
glowing
age
aged
aging/ageing
heal
healed
healing
live
lived
living
die
died
dying
exist
existed
existing
survive
survived
surviving
succeed
succeeded
succeeding