diff --git a/distrib/distrib.cc b/distrib/distrib.cc index b81bfc7..3b9b8ab 100644 --- a/distrib/distrib.cc +++ b/distrib/distrib.cc @@ -27,6 +27,13 @@ distrib::distrib() m_data = NULL; m_server = true; m_next_task = 0; + m_client_socket = -1; +} + +distrib::~distrib() +{ + if (m_client_socket != -1) + close(m_client_socket); } int distrib::readHostFile(const char * filename) diff --git a/distrib/distrib.h b/distrib/distrib.h index eabf9c9..3afbea2 100644 --- a/distrib/distrib.h +++ b/distrib/distrib.h @@ -13,6 +13,7 @@ class distrib { public: distrib(); + ~distrib(); int readHostFile(const char * filename); int startServer(); int startClient(const char * server, int port); diff --git a/main/Scene.cc b/main/Scene.cc index 6f7b270..0d0dc11 100644 --- a/main/Scene.cc +++ b/main/Scene.cc @@ -425,7 +425,7 @@ Color Scene::calculateLightContribution(const Ray & toLight, contrib *= hit.shape->getMaterial()->getTransparency(); contrib *= hit.shape->getMaterial()->getDiffuseColor(); - if ( contrib.r < SCENE_FACTOR_THRESHOLD + if ( contrib.r < SCENE_FACTOR_THRESHOLD && contrib.g < SCENE_FACTOR_THRESHOLD && contrib.b < SCENE_FACTOR_THRESHOLD ) break;