void default_pager_initialize(void) { kern_return_t kr; __unused static char here[] = "default_pager_initialize"; lck_grp_attr_setdefault(&default_pager_lck_grp_attr); lck_grp_init(&default_pager_lck_grp, "default_pager", &default_pager_lck_grp_attr); lck_attr_setdefault(&default_pager_lck_attr); /* * Vm variables. */ #ifndef MACH_KERNEL vm_page_mask = vm_page_size - 1; assert((unsigned int) vm_page_size == vm_page_size); vm_page_shift = local_log2((unsigned int) vm_page_size); #endif /* * List of all vstructs. */ vstruct_zone = zinit(sizeof(struct vstruct), 10000 * sizeof(struct vstruct), 8192, "vstruct zone"); zone_change(vstruct_zone, Z_CALLERACCT, FALSE); zone_change(vstruct_zone, Z_NOENCRYPT, TRUE); VSL_LOCK_INIT(); queue_init(&vstruct_list.vsl_queue); vstruct_list.vsl_count = 0; VSTATS_LOCK_INIT(&global_stats.gs_lock); bs_initialize(); /* * Exported DMM port. */ default_pager_object = ipc_port_alloc_kernel(); /* * Export pager interfaces. */ #ifdef USER_PAGER if ((kr = netname_check_in(name_server_port, "UserPager", default_pager_self, default_pager_object)) != KERN_SUCCESS) { dprintf(("netname_check_in returned 0x%x\n", kr)); exit(1); } #else /* USER_PAGER */ { unsigned int clsize; memory_object_default_t dmm; dmm = default_pager_object; assert((unsigned int) vm_page_size == vm_page_size); clsize = ((unsigned int) vm_page_size << vstruct_def_clshift); kr = host_default_memory_manager(host_priv_self(), &dmm, clsize); if ((kr != KERN_SUCCESS) || (dmm != MEMORY_OBJECT_DEFAULT_NULL)) Panic("default memory manager"); } #endif /* USER_PAGER */ }
bool wxTextureValidator::Validate(wxWindow *parent) { if ( !wxExtendedValidator::Validate(parent) ) { return false; } if ( !m_validatorWindow->IsEnabled() ) return true; wxString val = wxT(""); if (dynamic_cast<wxTextCtrl*>(m_validatorWindow)) { val = (dynamic_cast<wxTextCtrl*>(m_validatorWindow))->GetValue(); } else if (dynamic_cast<wxComboCtrl*>(m_validatorWindow)) { val = (dynamic_cast<wxComboCtrl*>(m_validatorWindow))->GetValue(); } else { return false; } if (m_zeroAllowed && (val == wxT(""))) return true; bool ok = true; wxString errormsg; // ILenum Error; // ILinfo inf; wxGXImage img(val); bool valid_file = img.Ok(); /* wxMutexLocker lock (wxILMutex); ILuint img = ilGenImage(); ILuint old = ilGetInteger(IL_ACTIVE_IMAGE); ilBindImage(img); */ if (!valid_file) { ok = false; errormsg = _("Error loading file '%s'."); /* while ((Error = ilGetError())) { errormsg += wxT("\n"); errormsg += iluErrorString(Error); } */ } else { /* int width = ilGetInteger(IL_IMAGE_WIDTH); int height = ilGetInteger(IL_IMAGE_HEIGHT); */ if (img.GetWidth() != img.GetHeight()) { ok = false; errormsg = _("Texture '%s' is not square, "); errormsg += wxString::Format(_("it has %dx%d pixels."), img.GetWidth(), img.GetHeight()); } else if ((1 << local_log2(img.GetWidth())) != static_cast<int>(img.GetHeight())) { ok = false; errormsg = _("The width/height of texture '%s' is not a power of 2."); } else { if (m_forceSize) { if ((*m_forceSize > 0) && (*m_forceSize != img.GetWidth())) { ok = false; errormsg = _("The width/height of texture '%s' has to be ") + wxString::Format(wxT("%d"), *m_forceSize) + wxT("."); } } if (ok && m_alphaNecessary) { if (!img.HasAlpha()) { ok = false; errormsg = _("Texture '%s' requires an alpha channel."); } } } } /* ilBindImage(old); ilDeleteImage(img); */ if ((!ok) && (!m_silent)) { wxASSERT_MSG( !errormsg.empty(), _T("you forgot to set errormsg") ); m_validatorWindow->SetFocus(); wxString buf; buf.Printf(errormsg, val.c_str()); wxString title; title.Printf(_("Validation conflict (%s)"), m_context.c_str()); wxMessageBox(buf, title, wxOK | wxICON_EXCLAMATION, parent); } return ok; }