Beispiel #1
0
/* wait until every job ended */
void WM_jobs_kill_all(wmWindowManager *wm)
{
	wmJob *wm_job;

	while ((wm_job = wm->jobs.first))
		wm_jobs_kill_job(wm, wm_job);

}
Beispiel #2
0
void WM_jobs_stop_all(wmWindowManager *wm)
{
	wmJob *steve;
	
	while((steve= wm->jobs.first))
		wm_jobs_kill_job(wm, steve);
	
}
Beispiel #3
0
/* kill job entirely, also removes timer itself */
void wm_jobs_timer_ended(wmWindowManager *wm, wmTimer *wt)
{
	wmJob *wm_job;

	for (wm_job = wm->jobs.first; wm_job; wm_job = wm_job->next) {
		if (wm_job->wt == wt) {
			wm_jobs_kill_job(wm, wm_job);
			return;
		}
	}
}
Beispiel #4
0
/* wait until every job ended, except for one owner (used in undo to keep screen job alive) */
void WM_jobs_kill_all_except(wmWindowManager *wm, void *owner)
{
	wmJob *wm_job, *next_job;

	for (wm_job = wm->jobs.first; wm_job; wm_job = next_job) {
		next_job = wm_job->next;

		if (wm_job->owner != owner)
			wm_jobs_kill_job(wm, wm_job);
	}
}
Beispiel #5
0
/* kill job entirely, also removes timer itself */
void wm_jobs_timer_ended(wmWindowManager *wm, wmTimer *wt)
{
	wmJob *steve;
	
	for(steve= wm->jobs.first; steve; steve= steve->next) {
		if(steve->wt==wt) {
			wm_jobs_kill_job(wm, steve);
			return;
		}
	}
}
Beispiel #6
0
void WM_jobs_kill_type(struct wmWindowManager *wm, int job_type)
{
	wmJob *wm_job, *next_job;
	
	for (wm_job = wm->jobs.first; wm_job; wm_job = next_job) {
		next_job = wm_job->next;

		if (wm_job->job_type == job_type)
			wm_jobs_kill_job(wm, wm_job);
	}
}
Beispiel #7
0
void WM_jobs_kill_type(struct wmWindowManager *wm, void *owner, int job_type)
{
	wmJob *wm_job, *next_job;

	for (wm_job = wm->jobs.first; wm_job; wm_job = next_job) {
		next_job = wm_job->next;

		if (!owner || wm_job->owner == owner)
			if (job_type == WM_JOB_TYPE_ANY || wm_job->job_type == job_type)
				wm_jobs_kill_job(wm, wm_job);
	}
}
Beispiel #8
0
/* actually terminate thread and job timer */
void WM_jobs_kill(wmWindowManager *wm, void *owner, void (*startjob)(void *, short int *, short int *, float *))
{
	wmJob *steve;
	
	steve= wm->jobs.first;
	while(steve) {
		if(steve->owner==owner || steve->startjob==startjob) {
			wmJob* bill = steve;
			steve= steve->next;
			wm_jobs_kill_job(wm, bill);
		} else {
			steve= steve->next;
		}
	}
}
Beispiel #9
0
/* actually terminate thread and job timer */
void WM_jobs_kill(wmWindowManager *wm, void *owner, void (*startjob)(void *, short int *, short int *, float *))
{
	wmJob *wm_job;

	wm_job = wm->jobs.first;
	while (wm_job) {
		if (wm_job->owner == owner || wm_job->startjob == startjob) {
			wmJob *wm_job_kill = wm_job;
			wm_job = wm_job->next;
			wm_jobs_kill_job(wm, wm_job_kill);
		}
		else {
			wm_job = wm_job->next;
		}
	}
}